javascript删除事件监听器

Poashoas

以下是在销毁元素之前实际删除事件的方法吗?在运行以下代码后,我无法在DOM检查器中弄清附加了哪些功能以及是否删除了这些功能:

el.addEventListener('click', function attachFunction (a, b) {
    console.log(a);
    console.log(b);
}, false);

el.removeEventListener('click', attachFunction, false);
theonlygusti

不,就目前而言,您的代码将无法正常工作

注意:要删除事件处理程序,用addEventListener()方法指定的函数必须是外部函数。

W3Schools w3fools-(对不起,但有时w3fools确实提供了您想要的东西)

因此,您需要这样做:

function attachFunction(a, b){
  console.log(a);
  console.log(b);
}

el.addEventListener('click', attachFunction, false);

el.removeEventListener('click', attachFunction, false);

它将按预期工作。

如果要将某些参数传递给函数attachFunction,则需要使用另一个函数:

function attachFunction(a, b){
  console.log(a);
  console.log(b);
}

function linkFunction(){
  attachFunction(a, b); // a and b can be replaced with anything you want
}

el.addEventListener('click', linkFunction, false);

el.removeEventListener('click', linkFunction, false);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章