2010-12-14 15 views
1

私は、選択、テキストボックス、ラジオボタン、チェックボックスなどの多くのhtmlアイテムを持つ大きなテーブルを持っています。また、私はいくつかの機能を持っています。私はアイテムのすべての変更に対してこの関数を呼びたいと思います。たとえばselectが変更されたか、テキストボックスにテキストタイプが表示されているか、ラジオボタンをクリックします。どうすればjs関数を単純に購読して呼び出すことができますか?私は、任意の項目すべての変更状態でjsスクリプトを呼び出す

のonchange = '関数()'

に挿入することができるが、jQueryの複数simly方法を可能にすることができますか?任意のサンプル?

答えて

8

jQueryの.change()イベントは、入力要素のすべてのタイプのために働くだろう。

しかし、あなたは多くの要素を持っている場合は、効率のために、あなたは.delegate()に見たいと思うかもしれません:それは、単一のハンドラを作成し、イベントバブリングを使用していますので、

$('body').delegate('input', 'change', function() { 
    // in here, $(this) is the input that has changed 
}); 

委任は、より効率的です。

0

JQueryでは、変更するアイテムに対して.click()イベントを使用できます。例:

$("#the-element").click(function(){ 

//Enter your function here 

}); 

+0

.focus()イベントは、要素に何が起きているかを監視するのにも役立ちます。 –

0

jQuery selectorを使用して、イベントを添付するすべてのアイテムをラップすることができます。そのラッパーでbindメソッドを使用してイベントを添付します。

例:

$('input').bind({ 
    click: function() { 
    // do something on click 
    }, 
    mouseenter: function() { 
    // do something on mouseenter 
    } 
}); 
関連する問題