متد element.removeEventListener
مثال (متد element.removeEventListener)
حذف کردن یک رویداد mousemove که به وسیله ی یک متد ()addEventListener ایجاد شده است:
document.getElementById("myDIV").addEventListener("mousemove", myFunction);
// Remove the event handler from <div>
document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
خودتان امتحان کنید »
تعریف و کاربرد
متد ()removeEventListener، یک شنونده ی رویداد را که به وسیله ی متد addEventListener() ایجاد شده است را حذف می کند.
نکته: برای حذف کردن شنونده های رویداد، تابع مشخص شده در متد ()addEventListener، باید یک تابع خارجی(external) باشد، مانند تابع تعریف شده در مثال بالا(myFunction).
بنا براین، تابع های بی نام مانند تابع زیر، کار نخواهند کرد:
element.removeEventListener("event", function(){ myScript });.
پشتیبانی مرورگرها
اعداد داخل جدول زیر نشان دهنده ی اولین ورژن مرورگری است که به طور کامل از این متد پشتیبانی می کند.
متد | |||||
---|---|---|---|---|---|
removeEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
نکته: متد ()removeEventListener در اینترنت اکسپلورر8 و ورژن های قبلی آن و همچنین در اپرا 7.0 و ورژن های قبلی آن پشتیبانی نمی شود، برای این ورژن های خاص از مرورگرها می توانید از متد ()detachEvent برای حذف کردن رویداد های ایجاد شده به وسیله ی متد ()attackEvent، استفاده کنید.
نحوه استفاده
مقادیر پارامترها
پارامتر | توضیحات |
---|---|
event |
ضروری. یک رشته که مشخص کننده ی نام رویدادی است که قرار است حذف شود. نکته: از پیشوند "on" استفاده نکنید، بعنوان مثال به جای "onclick" از "click" استفاده کنید. |
function | ضروری. تابعی که قرار است حذف شود را مشخص می کند. |
useCapture |
اختیاری. یک مقدار بولی که فاز رویداد را برای حذف کردن شنونده ی رویداد از آن، مشخص می کند.
نکته: اگر شنونده ی رویداد دو بار تعریف شده باشد، یک بار با فاز capturing و یک بار با فاز bubbling، هر کدام به طور جداگانه باید حذف شوند. |
جزئیات تکنیکی
DOM Version: | DOM Level 2 events |
---|---|
مقدار برگشتی | No return value |
Changelog: |
پارامتر usecapture در فایرفاکس 6 و اپرا 12 به صورت اختیاری درآمده است.(همواره در کروم و اینترنت اکسپلورر و سافاری به صورت پیش فرض بوده است) |
مثال - خودتان امتحان کنید
مثال (متد element.removeEventListener)
برای مرورگرهایی که از متد ()removeEventListener پشتیبانی نمی کنند می توانید از متد ()detachEvent استفاده کنید.
این مثال یک راه حل برای تمام مرورگرها را در مورد این دستورات ارائه می دهد:
if (x.removeEventListener) { // For all major browsers, except IE 8 and earlier
x.removeEventListener("mousemove", myFunction);
} else if (x.detachEvent) { // For IE 8 and earlier versions
x.detachEvent("onmousemove", myFunction);
}
خودتان امتحان کنید »
آموزش های مرتبط
آموزش جاوا اسکریبت: HTML DOM EventListener
مرجع جاوا اسکریبت: document.removeEventListener()
کلیه توابع و خصوصیت های شیء Element در JavaScript
- نوشته شده توسط احسان عباسی
- بازدید: 6144