在单击按钮时删除先前动态添加的事件侦听器
本文关键字:添加 动态 事件 侦听器 单击 按钮 删除 | 更新日期: 2023-09-27 18:13:57
在c#中,我通过ExecuteScript()
函数执行JavaScript。在JavaScript中,我添加了一个EventListener到网页通过点击一个按钮说"附加"。现在我想删除另一个按钮上的EventListener,点击'Detach'。
现在在"附加"按钮下的表单。我写了以下内容:
document.addEventListener('click', hilightElement, false);
其中highlightElement
是我的函数
在"分离"按钮下的表单。我写了如下
document.removeEventListener('click', hilightElement);
文档。removeEventListener不工作,即我添加的EventListener仍然存在。
是否有任何方法可以删除事件监听器,以便'click'事件在'Detach'按钮单击后不做任何事情
我试了你的代码如下,它工作如预期:
var attach = document.getElementById('attach');
var detach = document.getElementById('detach');
var hilightElement = function() {
alert("Here");
};
attach.addEventListener('click', function(e) {
e.stopPropagation();
document.addEventListener('click', hilightElement, false);
});
detach.addEventListener('click', function() {
document.removeEventListener('click', hilightElement);
});
<button type="button" id="attach">Attach</button>
<button type="button" id="detach">Detach</button>
尝试Rayons的例子,因为我意识到我正在编写相同的代码。