gpt4 book ai didi

javascript - 如何从多个元素中删除事件

转载 作者:行者123 更新时间:2023-11-30 12:59:49 25 4
gpt4 key购买 nike

我正在尝试删除我的 input 元素的事件。

我有以下内容

//add mouse up event on all element under mainDiv
addEvent('mainDiv', 'onmouseup', mouseUpFun);

//search all the input elements and remove the mouse up event
inputs = document.getElementsByTagName('input');
for(var i; i < inputs.length; i++){
var input = inputs[i];
input.removeEventListener('onmouseup');
}

上面的代码不起作用,并且仍然附加了 onmouseup 事件。

谁能帮我解决这个问题?非常感谢!

最佳答案

嗯,原因之一可能是您的循环从未运行过。您需要在循环中初始化 i:

for(var i = 0; i < inputs.length; i++){
var input = inputs[i];
input.removeEventListener('onmouseup');
}

否则,由于i 的初始值为undefined,此循环将永远不会运行。

您对 removeEventListener 的调用也不会按预期工作。您还需要提供对您使用的监听器/处理程序的引用。

参见 here正确使用 removeEventListener

如果一切都在使用 mouseUpFun,您可以将其提供给 removeEventListener:

input.removeEventListener('onmouseup', mouseUpFun);

关于javascript - 如何从多个元素中删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com