Javascript 使用默认值包装现有jquery事件

Javascript 使用默认值包装现有jquery事件,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我正在试图找出如何包装单击事件。这就是我想要的代码 $("#test").aclick(function() { alert('hi'); }); aclick所做的唯一一件事就是自动使用e.preventDefault。 是不是有点像 $.fn.aclick = function(e) { e.preventDefault(); return $.fn.click.apply(this, arguments); }); 谢谢。当绑定处理程序时,事件对象e还不存在。您需要

我正在试图找出如何包装单击事件。这就是我想要的代码

$("#test").aclick(function() {
    alert('hi');
});
aclick所做的唯一一件事就是自动使用e.preventDefault。 是不是有点像

$.fn.aclick = function(e) {
   e.preventDefault();
   return $.fn.click.apply(this, arguments);
});

谢谢。

当绑定处理程序时,事件对象
e
还不存在。您需要创建一个调用提供的事件处理程序的默认事件处理程序:

$.fn.aclick = function (handler) {
    return this.each(function () {
        var el = this;
        $(el).click(function (e) {
            e.preventDefault();
            handler.call(el, e);
        });
    });
};

我想我只是走到了尽头。。。理解这段代码要花我一个月的时间。请给出一个解释,我的javascript/jQuery已经过时了……以下是一个开始: