0

私は次のコードを持っています:

$('#form_field, #button').bind('change click', function() {
// take action
});

正常に動作します。ただし、「#form_field」に「change」を使用し、「#button」に「click」を使用した場合(「#form_field」に「click」を使用した場合ではない)、同じアクションをトリガーしたいと思います。

私はそれが次のコードを使用して行うことができることを知っています:

$('#form_field').bind('change', function() {
// take action
});

$('#button').bind('click', function() {
// take action
});

ただし、関数内にあるすべてのコードを繰り返したくありません(//アクションを実行します)。効果がないように見えるので、変更するたびに2回編集する必要があります。

何か案は?

前もって感謝します

4

3 に答える 3

12

どうですか:

var myCoolFunction = function() {
  // take action
};
$('#form_field').bind('change', myCoolFunction);
$('#button').bind('click', myCoolFunction);

??

于 2009-12-01T13:41:14.713 に答える
3

これでうまくいくはずです:

$('#form_field').bind('change', takeAction);

$('#button').bind('click', takeAction);

function takeAction () {
    //take action
};
于 2009-12-01T13:50:46.877 に答える
0

これを回避する方法を見つけることがそれほど素晴らしいアイデアかどうかはわかりません。両方とも同じことをする場合は、必要なイベントを呼び出す関数を作成するだけです。

于 2009-12-01T13:42:49.700 に答える