ページにいくつかの要素があり、そのうちのいくつかは、気になるクラス (この場合は「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」に変更しようとしましたが、それでも常に呼び出されます。