1

ページにいくつかの要素があり、そのうちのいくつかは、気になるクラス (この場合は「workItemRow」) を持つ div にラップされています。クラス workItemRow を持つ祖先を持つ要素のみがイベントをトリガーするようにします。問題は、祖先を持つ要素だけでなく、すべての要素がイベントにバインドされていることです。

元。(実際のコードの短縮版)

<div class="workItemRow">
<select class="objective"></select>
</div>

<div>
<select class="objective"></select>
</div>

そして私のjQuery:

$('body').on('change', '.workItemRow .objective', function () {
   alert("Why isn't this working?");
});

2 番目の div (クラスのないもの) にある選択を変更するたびに、そのイベントがまだトリガーされており、その理由がわかりません。セレクターを「.workItemRow > .objective」に変更しようとしましたが、それでも常に呼び出されます。

4

1 に答える 1

1

できるよ:

$('body').on('change', '.workItemRow > .objective', function () {
   alert("Why isn't this working?");
});

element.workItemRow にラップされている要素 (.objective) を選択します

于 2012-04-10T21:30:08.757 に答える