我在 HTML 中有一个简单的按钮,如下所示:
<input type='button' id='btnPrint' value='Print' onclick="changeStylesheet();" />
此按钮已包含一个 onclick 事件处理程序。我在这里想要实现的是能够为相同的按钮编写 onclick 事件处理程序。我想添加第二种方法来跟踪按钮被点击的次数。
一些方法:
首先:根据内联事件注册在 HTML 中附加另一个函数调用。
<input type='button' id='btnPrint' value='Print' onclick='changeStylesheet();trackThis();>' />
这是最简单的方法,但在我的情况下不可行。
第二:抓取onclick事件并检查它是否未定义。然后,使用 JavaScript 原生语法用匿名函数重构事件处理程序。
var elem = document.getElementById('btnPrint');
var existingHandler = **elem.onclick ? elem.onclick : function () {};**
elem.onclick = function () {
trackThis();
existingHandler();
};
第三:虽然上述方法有效,但我很想知道如何使用 jQuery 语法来学习上述 #2 方法的方法。
var elem = $('#btnPrint');
var existingHandler = **elem.click ? elem.click : function () {};**
elem.click(function () {
trackThis();
existingHandler()
});
我的#3 解决方案发生的情况是我得到了 Uncaught TypeError: Object [object Window] has no method 'trigger' 错误。
任何提示将不胜感激。