我正在尝试找出如何包装点击事件。例如,这是我想要的代码。
$("#test").aclick(function() {
alert('hi');
});
aclick 唯一做的就是自动使用 e.preventDefault。 是不是有点像?
$.fn.aclick = function(e) {
e.preventDefault();
return $.fn.click.apply(this, arguments);
});
谢谢。
最佳答案
绑定(bind)处理程序时,事件对象e
尚不存在。您需要创建一个调用提供的事件处理程序的默认事件处理程序:
$.fn.aclick = function (handler) {
return this.each(function () {
var el = this;
$(el).click(function (e) {
e.preventDefault();
handler.call(el, e);
});
});
};
关于javascript - 使用默认值包装现有的 jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332342/