我是Javascript编程领域的相对tyro,所以请放轻松我。 : - )
我正在尝试将eventListener添加到页面上的各种DOM元素。但是,我添加我的事件的一些元素已经有了一个eventListener,我不想取代那个;我只想将我的事件添加到一个尚未与之关联的事件的元素中。
我查看了一堆与addEventListener,event.StopPropagation,事件冒泡等相关的东西,但还没有找到任何方法来实现这一点。
有没有办法检测给定元素上的其他事件侦听器,或者某种其他方式来获取我想要的位置?
答案 0 :(得分:1)
您可以使用以下命令检查该给定元素的on [event]属性是否已设置:
if (typeof(document.getElementById("element-id").onclick) == "undefined") {
// event undefined
}
if (typeof(document.getElementById("element-id").onclick) == "function") {
// event defined
}
请注意,如果使用jQuery等javascript库来定义事件(例如使用$("#element-id").click()
),则无法使用此功能。我建议您使用jQuery,handle events可以轻松使用它。
编辑:嗯,好吧,如果你也在使用addEventHandler,它就不起作用了。它仅适用于使用yourElement.onclick = anyFunction