我正在试图弄清楚如何包装click事件。例如,这是我想要的代码。
$("#test").aclick(function() {
alert('hi');
});
唯一可以做的就是自动使用e.preventDefault。 是这样的吗?
$.fn.aclick = function(e) {
e.preventDefault();
return $.fn.click.apply(this, arguments);
});
感谢。
答案 0 :(得分:1)
当绑定处理程序时,事件对象e
尚不存在。您需要创建一个调用提供的默认事件处理程序:
$.fn.aclick = function (handler) {
return this.each(function () {
var el = this;
$(el).click(function (e) {
e.preventDefault();
handler.call(el, e);
});
});
};