JavaScript HTML DOM EventListener

addEventListener() পদ্ধতি শিখুন

addEventListener() পদ্ধতি

উদাহরণ

একটি ইভেন্ট লিসেনার যোগ করুন যা ব্যবহারকারী যখন একটি বোতামে ক্লিক করে তখন ফায়ার হয়:

document.getElementById("myBtn").addEventListener("click", displayDate);

addEventListener() পদ্ধতি একটি ইভেন্ট হ্যান্ডলারকে নির্দিষ্ট উপাদানের সাথে সংযুক্ত করে।

addEventListener() পদ্ধতি বিদ্যমান ইভেন্ট হ্যান্ডলারকে ওভাররাইড না করে একটি উপাদানের সাথে একটি ইভেন্ট হ্যান্ডলার সংযুক্ত করে।

addEventListener() বৈশিষ্ট্য:

  • আপনি একটি উপাদান একাধিক ইভেন্ট হ্যান্ডলার যোগ করতে পারেন
  • একই ধরণের একাধিক ইভেন্ট হ্যান্ডলার একটি উপাদানে যোগ করা যেতে পারে, যেমন দুটি "ক্লিক" ইভেন্ট
  • আপনি যেকোন DOM অবজেক্টে ইভেন্ট শ্রোতাদের যোগ করতে পারেন, শুধু HTML এলিমেন্ট নয়, যেমন একটি উইন্ডো অবজেক্ট
  • addEventListener() পদ্ধতিটি ইভেন্টটি প্রেরণে কীভাবে প্রতিক্রিয়া দেখায় তা নিয়ন্ত্রণ করা সহজ করে তোলে
  • addEventListener() পদ্ধতি ব্যবহার করার সময়, JavaScriptকে HTML কোড থেকে আলাদা করা হয়, যাতে আপনি ভাল পঠনযোগ্যতার জন্য HTML কোড নিয়ন্ত্রণ না করলেও ইভেন্ট শ্রোতাদের যোগ করতে পারবেন।
  • একটি ইভেন্ট শ্রোতা সহজেই removeEventListener() পদ্ধতি ব্যবহার করে সরানো যেতে পারে

সিনট্যাক্স

element.addEventListener(event, function, useCapture);

⚠️গুরুত্বপূর্ণ নোট:

ইভেন্টের জন্য "চালু" উপসর্গ ব্যবহার করবেন না; "অনক্লিক" এর পরিবর্তে "ক্লিক" ব্যবহার করুন।

উপাদানটিতে একটি ইভেন্ট হ্যান্ডলার যোগ করা হচ্ছে

উদাহরণ 1

যখন ব্যবহারকারী একটি উপাদানে ক্লিক করে "হ্যালো ওয়ার্ল্ড!" সতর্কতা প্রদর্শন:

element.addEventListener("click", function(){ alert("Hello World!"); });

উদাহরণ 2

একটি বহিরাগত "নামযুক্ত" ফাংশন নির্দিষ্ট করা যেতে পারে:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}

একই উপাদানে একাধিক ইভেন্ট হ্যান্ডলার যোগ করা হচ্ছে

addEventListener() পদ্ধতি আপনাকে বিদ্যমান ইভেন্ট ওভাররাইড না করে একই উপাদানে একাধিক ইভেন্ট যোগ করতে দেয়:

উদাহরণ 1

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

উদাহরণ 2

একই উপাদানে বিভিন্ন ধরণের ইভেন্ট যোগ করা যেতে পারে:

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

উইন্ডো অবজেক্টে একটি ইভেন্ট হ্যান্ডলার যোগ করা হচ্ছে

addEventListener() পদ্ধতি আপনাকে যেকোনো HTML DOM অবজেক্টে ইভেন্ট শ্রোতাদের যোগ করতে দেয়, যেমন HTML উপাদান, একটি HTML নথি, একটি উইন্ডো অবজেক্ট, বা অন্যান্য অবজেক্ট যা ইভেন্ট সমর্থন করে যেমন xmlHttpRequest অবজেক্ট।

উদাহরণ

একটি ইভেন্ট লিসেনার যোগ করুন যা ব্যবহারকারী যখন উইন্ডোটির আকার পরিবর্তন করে তখন ফায়ার হয়:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

পাসিং প্যারামিটার

প্যারামিটার মান পাস করার সময়, একটি "বেনামী ফাংশন" ব্যবহার করুন যা পরামিতি সহ নির্দিষ্ট ফাংশনকে কল করে:

উদাহরণ

element.addEventListener("click", function(){ myFunction(p1, p2); });

ইভেন্ট প্রেরণ বা ঘটনা ক্যাপচার?

HTML DOM-এ ইভেন্ট প্রচারের দুটি উপায় রয়েছে: প্রেরণ এবং ক্যাপচার।

ইভেন্ট প্রচার হল উপাদানগুলির ক্রম সংজ্ঞায়িত করার একটি উপায় যখন একটি ঘটনা ঘটে। যদি আপনার একটি <p> উপাদান একটি <div> উপাদানের মধ্যে থাকে এবং ব্যবহারকারী <p> উপাদানটিতে ক্লিক করেন, তাহলে কোন উপাদানটির "ক্লিক" ইভেন্টটি প্রথমে পরিচালনা করা উচিত?

বুদবুদ

ভিতরের উপাদানের ইভেন্টটি প্রথমে পরিচালনা করা হয়, তারপর বাইরের: <p> উপাদানের ক্লিক ইভেন্টটি প্রথমে পরিচালনা করা হয়, তারপরে <div> উপাদানের ক্লিক ইভেন্ট।

ক্যাপচারিং

বাইরের উপাদানের ইভেন্ট প্রথমে পরিচালনা করা হয়, তারপর ভিতরের: <div> উপাদানের ক্লিক ইভেন্টটি প্রথমে পরিচালনা করা হয়, তারপরে <p> উপাদানের ক্লিক ইভেন্ট।

addEventListener() পদ্ধতির সাথে, আপনি "useCapture" প্যারামিটার ব্যবহার করে প্রচারের ধরন নির্দিষ্ট করতে পারেন:

addEventListener(event, function, useCapture);

ডিফল্ট মান মিথ্যা, যা বিতরণ বিতরণ ব্যবহার করবে। যখন মান সত্য সেট করা হয়, ইভেন্ট ক্যাপচার প্রচার ব্যবহার করে।

উদাহরণ

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

রিমুভ ইভেন্টলিস্টেনার() পদ্ধতি

removeEventListener() পদ্ধতি addEventListener() পদ্ধতিতে সংযুক্ত ইভেন্ট হ্যান্ডলারদের সরিয়ে দেয়:

উদাহরণ

element.removeEventListener("mousemove", myFunction);

💡গুরুত্বপূর্ণ:

removeEventListener() পদ্ধতি ব্যবহার করে একটি ইভেন্ট শ্রোতা অপসারণ করতে, আপনাকে addEventListener() ব্যবহার করে এটি যোগ করার সময় একই ফাংশন নির্দিষ্ট করতে হবে।

HTML DOM ইভেন্ট অবজেক্ট রেফারেন্স

সমস্ত HTML DOM ইভেন্টের তালিকার জন্য, আমাদের সম্পূর্ণ HTML DOM ইভেন্ট অবজেক্ট রেফারেন্স দেখুন।

📚জসিফ টিম নোট:

HTML DOM ইভেন্টলিসনার পদ্ধতি এবং তাদের ব্যবহার সম্পর্কে বিস্তারিত রেফারেন্সের জন্য আমাদের ডকুমেন্টেশন দেখুন।

ইভেন্টলিসনার টিউটোরিয়াল

ব্রাউজার উইন্ডোর আকার পরিবর্তন করা হলে 'myfunc' ফাংশন চালানোর আইনি সিনট্যাক্স কী?

window.listen('resize', myfunc);
✗ ভুল! listen() একটি আইনি জাভাস্ক্রিপ্ট পদ্ধতি নয়
window.addEventListener('resize', myfunc);
✓ ঠিক আছে! addEventListener() একটি বৈধ পদ্ধতি যা একটি উইন্ডো অবজেক্টে ইভেন্ট শ্রোতাদের যোগ করতে ব্যবহৃত হয়
window.addEvent('resize', myfunc);
✗ ভুল! addEvent() একটি আইনি জাভাস্ক্রিপ্ট পদ্ধতি নয়
window.execute(myfunc, 'resize');
✗ ভুল! execute() ইভেন্ট শ্রোতাদের যোগ করার জন্য ব্যবহৃত পদ্ধতি নয়