JavaScript HTML DOM removeEventListener() 方法
-
HTML DOM removeEventListener() 方法
document.removeEventListener()方法删除已使用document.addEventListener()方法附加的事件处理程序。注意:要删除事件处理程序,使用addEventListener()方法指定的函数必须是外部的“命名”函数,如下例(myFunction)中所示。匿名函数,如“document.removeEventListener("event",function(){ myScript });” 不管用。提示:使用element.addEventListener()和element.removeEventListener()方法来从一个指定的元素添加/移除事件处理程序。实例:删除已使用addEventListener()方法附加的“mousemove”事件:
尝试一下// 将事件处理程序附加到文档 document.addEventListener("mousemove", myFunction); // 从文档中删除事件处理程序 document.removeEventListener("mousemove", myFunction);
-
浏览器支持
项 IE/Edge Chrome FireFox Safari Opera 方法 removeEventListener() 9.0+1.0+1.0+1.0+7.0+注意: Internet Explorer 8及早期版本以及Opera 6.0及更早版本不支持removeEventListener()方法。但是,对于这些特定的浏览器版本,您可以使用detachEvent()方法删除已使用attachEvent()方法附加的事件处理程序(有关跨浏览器的解决方案,请参阅下面的“更多示例”)。 -
语法
document.removeEventListener(event, function, useCapture) -
参数值
参数 描述 event 必需的。 一个字符串,指定要删除的事件的名称。 注意:请勿使用“on”前缀。 例如,使用“click”而不是“onclick”。提示:有关所有HTML DOM事件的列表,请查看完整的HTML DOM事件对象参考。function 必需的。 指定要删除的函数。 useCapture 可选的。 一个布尔值,指定从中删除事件处理程序的事件阶段。可能的值: - true - 从捕获阶段删除事件处理程序
- false - 默认。 从冒泡阶段中删除事件处理程序
注意:如果事件处理程序连接了两次,一次有捕获和一次冒泡,则必须分别删除每个事件处理程序。注意:useCapture参数在Firefox 6和Opera 12.0中变为可选(Chrome,IE和Safari一直是可选的) -
技术细节
项目 描述 返回值: 无 DOM版本 Core Level 2 -
更多例子
对于不支持removeEventListener()方法的浏览器,可以使用detachEvent()方法。此示例演示了跨浏览器解决方案:
尝试一下if (document.removeEventListener) { // 对于所有主流浏览器,IE 8及更早版本除外 document.removeEventListener("mousemove", myFunction); } else if (document.detachEvent) { // 适用于IE 8及更早版本 document.detachEvent("onmousemove", myFunction); }
-
相关页面
JavaScript 教程 JavaScript 事件监听器