javascript - 命名点击事件绑定(bind)javascript

标签 javascript events

如果没有 jQuery(或任何库),我如何“命名”一个事件,以便稍后可以分离该事件。例如,我在一个元素上有 3 个点击事件:

target1.addEventListener(click, callback1, false);
target1.addEventListener(click, callback2, false);
target1.addEventListener(click, callback3, false);

我只想解除绑定(bind)callback2。我关心后备方案。我知道这很简单,但我无法在 jQuery 之外找到任何关于此的 Material (也许我使用了错误的措辞,idk)。

最佳答案

您需要保存事件监听器,然后在以下位置使用它们: element.removeEventListener(类型、监听器、useCapture)

var div = document.getElementById('div');
var listener = function (event) {
  /* do something here */
};
div.addEventListener('click', listener, false);
div.removeEventListener('click', listener, false);

为什么不使用 jQuery?

下面的链接是文档+代码示例: https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener

关于javascript - 命名点击事件绑定(bind)javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199936/

相关文章:

javascript - d3.js svg 图像 : scale from center of rectangle

c# - 在派生类中引发事件处理程序

java - Ajax 使用 Javascript 调用同一 JSP

javascript - 如何使用 thunk 和 useDispatch(react-redux Hook )从操作中返回 promise ?

javascript - 如何获取整个 html 内容并存储在变量中以便在我的站点中重用

javascript - 将点击事件绑定(bind)到D3元素

javascript - 未触发子元素的点击

javascript - 如何使用 chart.js 创建两个 x 轴标签

c# - 用于监视从代码触发的事件的软件

c# - 私有(private)事件处理程序是否会破坏封装?