我们假设有一个 <img>
元素,其中包含一些 onclick 事件处理程序。例如,点击它alert("OldEventHandler")
。
我想在现有的之前添加我的事件处理程序。例如,我的事件处理函数执行alert("NewEventHandler")
。
所以点击我想看“NewEventHandler”弹出窗口,然后弹出“OldEventHandler”。
这需要在纯JavaScript中实现; 没有jQuery请
答案 0 :(得分:12)
您可以保存原始处理程序,然后在完成后调用它:
var oldHandler = myElement.onclick;
myElement.onclick = function() {
// do your stuff here
...
// then call the original
oldHandler.apply(this, arguments);
}
答案 1 :(得分:0)
解决此问题的另一种方法是创建一个泛型事件处理程序,该处理程序以某种预定义的顺序存储一系列函数。触发onclick()
事件后,您可以按顺序调用所需的函数。