JavaScript Element removeEventListener() 方法
-
JavaScript Element removeEventListener() 方法
removeEventListener()方法删除已使用addEventListener()方法附加的事件处理程序。注意:要删除事件处理程序,使用addEventListener()方法指定的函数必须是外部函数,如下例(myFunction)中所示。匿名函数,如“ element.removeEventListener("event",function(){ myScript };” 不管用。实例:删除已使用addEventListener()方法附加的“mousemove”事件:
尝试一下// 将事件处理程序附加到<div> document.getElementById("myDIV").addEventListener("mousemove", myFunction); // 从<div>中删除事件处理程序 document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
-
浏览器支持
项 IE/Edge Chrome FireFox Safari Opera 方法 removeEventListener() 9.0+1.0+1.0+1.0+7.0+ -
语法
element.removeEventListener(event, function, useCapture) -
参数值
参数 类型 描述 event String 必需的。 一个字符串,指定要删除的事件的名称。 注意:请勿使用“on”前缀。 例如,使用“click”而不是“onclick”。提示:有关所有HTML DOM事件的列表,请查看完整的HTML DOM事件对象参考。function Function Object 必需的。指定要删除的函数。 useCapture 布尔值 可选的。 一个布尔值,指定从中删除事件处理程序的事件阶段。可能的值: - true - 从捕获阶段删除事件处理程序
- false - 默认。 从冒泡阶段中删除事件处理程序
注意:如果事件处理程序连接了两次,一次有捕获和一次冒泡,则必须分别删除每个事件处理程序。useCapture参数在Firefox 6和Opera 12.0中变为可选(Chrome,IE和Safari一直是可选的) -
技术细节
项目 描述 返回值: 没有返回值 DOM版本 Core Level 2 -
更多例子
对于不支持removeEventListener()方法的浏览器,可以使用detachEvent()方法。此示例演示了跨浏览器解决方案:
尝试一下var x = document.getElementById("myDIV"); 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); }
-