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 に答える