روش addEventListener() موضوع HTML DOM
- صفحه قبلی accessKey
- صفحه بعدی appendChild()
- به لایه بالاتر بازگردید موضوع Elements HTML DOM
تعریف و استفاده
addEventListener()
روش اضافه کردن برنامههای مدیریت رویداد به عنصر.
مثال
مثال 1
رویداد click به عنصر <button> اضافه کنید:
element.addEventListener("click", myFunction); function myFunction() { document.getElementById("demo").innerHTML = "Hello World"; }
مثال 2
کد بیشتر بهینه شده:
element.addEventListener("click", function() { document.getElementById("demo").innerHTML = "Hello World"; });
مثالهای بیشتری در پایین صفحه پیدا خواهید کرد.
نحوهی نوشتن
element.addEventListener(type, function, useCapture)
پارامترها
پارامترها | توضیح |
---|---|
type |
ضروری. نام رویداد. لطفاً از پیشوند "on" استفاده نکنید. از "click" به جای "onclick" استفاده کنید. |
function | ضروری. تابعی که در وقوع رویداد اجرا میشود. |
useCapture |
اختیاری (default = false).
|
مقدار بازگشتی
بدون.
جزئیات فنی
این روش یک تابع گوشه شناسایی شده مشخص را به مجموعه گوشههای شناسایی شده جاری اضافه میکند تا رویداد مشخصی را پردازش کند. type رویدادها. useCapture به true، گوشه شناسایی شده به عنوان گوشه شناسایی شده قابلیتافزوده ثبت میشود. اگر useCapture به false، آن را به عنوان گوشه شناسایی شده معمولی ثبت میکند.
addEventListener() چندین بار فراخوانی شود، میتوان چندین گوشه شناسایی شده برای یک نوع رویداد خاص روی یک گره ثبت کرد. اما باید توجه داشت که DOM نمیتواند ترتیب فراخوانی گوشههای شناسایی شده را تعیین کند.
اگر یک تابع گوشه شناسایی شده در یک گره با استفاده از type و useCapture اگر پارامتر دو بار ثبت شود، ثبت دوم نادیده گرفته میشود. اگر در حال پردازش یک رویداد روی یک گره هستید و یک گوشه شناسایی شده جدید روی آن گره ثبت شود، گوشه شناسایی شده جدید برای آن رویداد فراخوانی نمیشود.
وقتی با Node.cloneNode() روش یا Document.importNode() وقتی یک گره Document را کپی میکنید، گوشههای شناسایی شده برای گره اصلی کپی نمیشوند.
این روش نیز در Document و Window بر روی شیء تعریف شدهاند و به همان روش کار میکنند.
مثالهای بیشتری
مثال 3
شما میتوانید بسیاری از رویدادها را به یک عنصر اضافه کنید:
element.addEventListener("click", myFunction1); element.addEventListener("click", myFunction2);
مثال 4
شما میتوانید رویدادهای مختلفی را به یک عنصر اضافه کنید:
element.addEventListener("mouseover", myFunction); element.addEventListener("click", someOtherFunction); element.addEventListener("mouseout", someOtherFunction);
مثال 5
برای انتقال مقادیر پارامتر، از "توابع ناشناس" استفاده کنید:
element.addEventListener("click", function() { myFunction(p1, p2); });
مثال 6
تغییر رنگ پسزمینه <button> عنصر:
element.addEventListener("click", function() { this.style.backgroundColor = "red"; });
مثال 7
تفاوت در حبابزدایی و جلب توجه:
element1.addEventListener("click", myFunction, false); element2.addEventListener("click", myFunction, true);
مثال 8
حذف برنامهدهنده رویداد:
element.addEventListener("mousemove", myFunction); element.removeEventListener("mousemove", myFunction);
پشتیبانی مرورگر
element.addEventListener()
این یک ویژگی DOM Level 2 (2001) است.
همه مرورگرها این را به طور کامل پشتیبانی میکنند:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
پشتیبانی | 9-11 | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی |
صفحات مرتبط
روشهای عنصر:
روشهای مستند:
آموزش:
- صفحه قبلی accessKey
- صفحه بعدی appendChild()
- به لایه بالاتر بازگردید موضوع Elements HTML DOM