0

我已经阅读了很多关于 jquery 插件中的闭包和设计模式(甚至有些矛盾的东西),但我并不完全理解它......我有这段代码,它已经在工作,但我不知道它是否我正在做的最佳实践......

(function($) {

    var methods = { 
               method1 : function() { .... }
                  }

    return this.each(function() {

    $(this).change(function()
        {
        methods.method1.apply($(this));
        })

    });

})(jQuery);

我的疑问在于事件委托功能......我应该在那里使用闭包而不是应用?最佳做法是什么?我应该如何定义该闭包?谢谢

4

2 回答 2

0

你得到的东西从这里看起来是正确的。(虽然 jQuery 代码有时很难通过肉眼验证!)当事件委托被调用时,this将是 DOM 元素引发事件。那里不需要关闭。

于 2012-08-30T03:00:04.520 回答
0

除了其他答案提到的内容外,this.each$(this).change(...)在其中是多余的。如果你把它改成这样:

// no this.each
this.change(function() {
    // ...
});

那么它的工作方式应该完全相同,但更简洁,可以说更清晰。

于 2012-08-30T03:05:05.223 回答