0

動的に生成されたいくつかのチェックボックスを備えたスクロール可能なdiv要素があります。別の選択が行われるたびにイベントを発生させる必要があります。つまり、別のチェックボックスのセットが選択されています。タグのonchange()ハンドラーが見つかりませんでした。この機能を処理するためにdivのどのイベントを使用できますか?

4

1 に答える 1

3

<div />要素自体にはchangeイベントはありません。しかし、change入力のイベントはそれらの先祖を通してバブルアップします。でイベントを聞くことができます<div />

$('div').on('change', function (e) {
    // in here, `this` is the div element and e.target is the changed checkbox
});

ただし、より jQuery 風の方法は、次のようにハンドラーを要素に委任することです。<div />

$('div').on('change', 'input:checkbox', function (e) {
    // in here, `this` is the checkbox and `e.delegateTarget` is the div.
});

詳細については、 の jQuery ドキュメントを参照してくださいon()。イベント バブリングの詳細については、こちらのブログを参照してください。

于 2012-06-18T13:03:50.130 に答える