我有以下代码:

document.getElementsByClassName('drag')[i].addEventListener('mousedown', (e) => {
    console.log('mousedown' + i);
});

如果我能够在监听器中命名函数,那将很容易。但在我的情况下这是不可能的。

它看起来像:
e.currentTarget.removeEventListener(e.type, nameFunction);

有没有办法让它工作?

谢谢你。

最佳答案

是的,你可以这样写。

document.getElementsByClassName('drag')[i].addEventListener('mousedown', mouseDownFun);
function mouseDownFun(e){
  console.log('mousedown' + i);
}
e.currentTarget.removeEventListener(e.type, mouseDownFun);

因此,无论何时触发鼠标按下事件,它都会在 mouseDownFun 中监听。

关于javascript - 移除 ES6 中的事件监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42071560/

10-13 03:30