আমার জাভাস্ক্রিপ্টে আমার একটি টাইমার রয়েছে যা সময় শেষ হয়ে যাওয়ার পরে অন্য পৃষ্ঠায় যাওয়ার জন্য একটি লিঙ্কে ক্লিক করে অনুকরণ করতে হবে। এটি করার জন্য আমি jQuery এর click()
ফাংশন ব্যবহার করছি । আমি ব্যবহার করেছি $().trigger()
এবং window.location
এছাড়াও, এবং আমি এটি তিনটি সঙ্গে ইচ্ছানুসারে কাজ করতে পারেন।
আমি কিছু অদ্ভুত আচরণ পর্যবেক্ষণ করেছি click()
এবং আমি কী হয় এবং কেন তা বোঝার চেষ্টা করছি।
আমি এই প্রশ্নে আমি যা বর্ণনা করি তার জন্য ফায়ারফক্স ব্যবহার করছি তবে অন্যান্য ব্রাউজারগুলি এর সাথে কী করবে সে সম্পর্কেও আমি আগ্রহী।
যদি আমি ব্যবহার না করে $('a').bind('click',fn)
বা $('a').click(fn)
কোনও ইভেন্ট হ্যান্ডলার সেট $('a').click()
করতে না পারি , তবে কল করা কিছুতেই কিছু করবে না বলে মনে হচ্ছে। এটি এই ইভেন্টের জন্য ব্রাউজারের ডিফল্ট হ্যান্ডলারটিকে কল করে না, কারণ ব্রাউজারটি নতুন পৃষ্ঠা লোড করে না।
যাইহোক, যদি আমি প্রথমে কোনও ইভেন্ট হ্যান্ডলার সেট করি তবে এটি ইভেন্ট হ্যান্ডলার কিছুই না করলেও এটি প্রত্যাশা অনুযায়ী কাজ করে।
$('a').click(function(){return true;}).click();
এটি নতুন পৃষ্ঠাটিকে এমনভাবে লোড করে যেন আমি নিজেই ক্লিক করেছিলাম।
সুতরাং আমার প্রশ্ন দ্বিগুণ: আমি কোথাও কিছু ভুল করছি বলে এই অদ্ভুত আচরণ কি? এবং click()
যদি আমি নিজের কোনও হ্যান্ডলার তৈরি না করি কেন কলিং ডিফল্ট আচরণের সাথে কিছুই করে না?
সম্পাদনা করুন:
হফম্যান যখন নির্ধারিত হয়েছিল যে তিনি যখন আমার ফলাফলগুলি নকল করার চেষ্টা করেছিলেন, আমি উপরে বর্ণিত ফলাফলটি আসলে ঘটে না। গতকাল আমি যে ঘটনাগুলি পর্যবেক্ষণ করেছি তার কারণ সম্পর্কে আমি নিশ্চিত নই, তবে আমি আজ নিশ্চিত হয়েছি যে আমি প্রশ্নটিতে যা বর্ণনা করেছি তা তা নয়।
সুতরাং উত্তরটি হ'ল আপনি ব্রাউজারে "জাল" ক্লিক করতে পারবেন না এবং সমস্ত jQuery যা করে তা আপনার ইভেন্ট হ্যান্ডলারকে কল করে। আপনি window.location
পৃষ্ঠাটি পরিবর্তন করতে এখনও ব্যবহার করতে পারেন এবং এটি আমার পক্ষে ভাল কাজ করে।