gpt4 book ai didi

jquery - 使用 JQuery 在按钮上添加 onclick 操作

转载 作者:行者123 更新时间:2023-12-01 00:36:38 26 4
gpt4 key购买 nike

我有一个已经有 onclick 事件和指定功能的按钮。我想在它前面添加另一个函数调用。我可以想象应该可以摆弄 onclick 属性 (attr),但我不认为这是最佳实践。

您认为在现有 onclick 事件上添加函数调用的最佳实践是什么?

最佳答案

如果你不怕弄乱 jQuery 的本质:

// "prepend event" functionality as a jQuery plugin
$.fn.extend({
prependEvent: function (event, handler) {
return this.each(function () {
var events = $(this).data("events"),
currentHandler;

if (events && events[event].length > 0) {
currentHandler = events[event][0].handler;
events[event][0].handler = function () {
handler.apply(this, arguments);
currentHandler.apply(this, arguments);
}
}
});
}
});

$("#someElement").prependEvent("click", function () {
whatever();
});​

现场观看:http://jsfiddle.net/Tomalak/JtY7H/1/

请注意,必须已经有一个currentHandler,否则该函数将不会执行任何操作。

免责声明:我认为这是一种黑客行为。这取决于 jQuery 内部结构,该内部结构可能会在库的下一版本中发生变化。它现在可以工作(我测试了 jQuery 1.7.2),但如果它在 jQuery 的 future 版本中出现问题,请不要感到惊讶。

关于jquery - 使用 JQuery 在按钮上添加 onclick 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10169685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com