1

私はJavaScript/jQueryをいじっていて、2つの非常によく似たものをリファクタリングする方法を決定しようとしています。

 $('#a-div-element').click(function() {
    /* common stuff in here */
})

2つの引数を持つ1つの関数に。私が使用した他の言語と多少似ていると思っていました。つまり、次のようになります。

function my_refactored_stuff(field, target_div) {
  $(field).click(function{ 
    /* common stuff in here */
  });
}

しかし、クリックしてもトリガーされないようです

要するに、誰かが.clickメソッド全体で共通の機能を処理する関数を作成する方法の簡単な例を作成できれば、私は本当に感謝しています

PlankTon、どうもありがとう

4

2 に答える 2

2

イベントハンドラ関数を定義して再利用するだけです。

var handler = function(event) { /* common stuff here */ }
$("#a-div-element").on("click", handler)
$("#b-div-element").on("click", handler)
于 2012-09-11T01:19:20.630 に答える
1
var callback = function() {};

$('#a-div-element').click( callback );

または、引数を渡したい場合:

$('#a-div-element').click(function() {
    callback( /* args */ );
});
于 2012-09-11T01:24:36.190 に答える