body要素にバインドされたclick
イベントがありますが、ユーザーが特定の要素をクリックしたとき、つまりその要素の属性がdata-dropdown-target
しかし、私が試したことは動作していない、それは常に発生します。ボディにバインドされたセレクタから特定の要素を削除する
CodePen:http://codepen.io/anon/pen/ORQkrb
HTML:
<body>
<div class="foo">foo</div>
<div class="bar" data-dropdown-target="something">bar</div>
<div class="moo">moo</div>
</body>
CSS:
.foo, .bar, .moo {
padding: 10px;
margin: 5px;
}
.foo {
background-color: gray;
}
.bar {
background-color: teal;
}
.moo {
background-color: green;
}
JS:
$('body').not('[data-dropdown-target]').on('click', function(e) {
console.log('Hi!');
});
私はそれはむしろそれの子供たちよりも、この属性を持つbody
要素を削除するをしようとであるためであると仮定 - 正しいですか?
この属性を持つ子要素の発射を中止するにはどうすればよいですか?性能上の理由から、特に本体上にあるため、すべてをループする必要があります。
:ライン '$( 'ボディ')ではない( '[データ・ドロップダウン・ターゲット]')( 'クリック'、関数(E){})で、'私が '$(" body ")を$(" body ".find(" div:not() ")'に変更したときにうまくいくと思われます。 – reporter