是否可以仅为特定元素禁用javascript?
假设,div与id foo有一些javascript代码可能是内联,内部或外部JavaScript代码.
现在,取消绑定该元素的所有javascript代码(也可能包括子代).
小智 0
pointer-events属性关闭 CSS 指针事件属性。
#foo { pointer-events: none; }
Run Code Online (Sandbox Code Playgroud)
请参阅https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events。
当然,这不会关闭某些类型的事件处理程序,例如onchange输入元素上的处理程序。另一方面,它的优点是,pointer-events如果需要,您可以为特定的后代元素重新打开。
IE < 11 不支持。
或者,您也可以尝试以下操作:
elt.addEventListener('click', function(evt) {
evt.stopPropagation();
evt.preventDefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)
这不会阻止任何已直接附加到元素的事件处理程序运行,但会阻止事件冒泡,这将处理委托类型的情况。它将禁止添加到元素的任何未来事件处理程序运行。它还会抑制事件的默认行为(例如单击链接)。
您必须为每种事件类型单独执行此操作。无法定义适用于多个或所有事件的事件处理程序(无论如何您可能都不想这样做)。
| 归档时间: |
|
| 查看次数: |
1295 次 |
| 最近记录: |