向 JavaScript 中的预定义事件添加功能

Adding functionality to a pre-defined event in JavaScript

本文关键字:事件 添加 功能 预定义 JavaScript      更新时间:2023-09-26
JavaScript

中有没有办法可以覆盖事件,但仍然调用原始事件的代码?我基本上想在最后添加一行代码。所以例如:

原始功能

function DropDownList_OnFocus(a, b) {
    // Original Code
}

我需要什么

function DropDownList_OnFocus(a, b) {
    // Original Code
    // New Code        
}

事件处理程序始终按绑定顺序执行。

因此,您只需在同一元素上为同一事件添加另一个事件处理程序,并将更多/剩余代码放在第二个事件处理程序中。

我设法使用以下方法使其工作:

var base = DropDownList.OnFocus;
var DropDownOnFocusOverride = (function () {
    return function () {
        base();
        // Additional Code
    }
});
DropDownList.OnFocus = DropDownOnFocusOverride();