在现有处理程序之前附加我的Event处理程序

Dmi*_*mov 5 javascript javascript-events

假设有一个<img>元素有一些onclick事件处理程序.例如onclick它alert("OldEventHandler").

我想在现有的事件处理程序之前添加我的事件处理程序.例如我的事件处理函数alert("NewEventHandler").

所以点击我想看"NewEventHandler"弹出窗口,然后是"OldEventHandler"弹出窗口.

这需要在纯JavaScript中实现; 没有jQuery请.

Aln*_*tak 12

您可以保存原始处理程序,然后在完成后调用它:

var oldHandler = myElement.onclick;

myElement.onclick = function() {
    // do your stuff here
    ...

    // then call the original
    oldHandler.apply(this, arguments);
}
Run Code Online (Sandbox Code Playgroud)