私は誰かが次のJSを見ることができるかどうか疑問に思った。私がしたいのは、div
をクリックすることができるようにすることで、ここには「ここ」の警告ボックスが表示されます。 a
をクリックし、「アンカー」警告が表示されるようにすることもできます。JavaScript - バブルを止める
「ここ」のアラートボックスが再び表示されるという問題があります。 .stopPropagation()
を試してみましたが、期待どおりに動作していません。
マイコード:
function testMessage() {
alert("Here");
}
function anchorClick() {
alert("Anchor");
this.stopPropagation();
}
var products = document.getElementsByClassName('Wrapper')
var tags = document.getElementsByTagName('a')
for (let i = 0; i < products.length; i++) {
products[i].onclick = function() {
testMessage();
}
}
for (let i = 0; i < tags.length; i++) {
tags[i].onclick = function() {
anchorClick();
}
}
#Wrapper,
#Wrapper2 {
height: 250px;
width: 250px;
background: #fff;
cursor: pointer;
}
<div class="Wrapper">
<a href="#" class="anchor">Link1</a>
<a href="#" class="anchor">Link2</a>
<a href="#" class="anchor">Link3</a>
</div>
<div class="Wrapper">
<a href="#" class="anchor">Link1</a>
<a href="#" class="anchor">Link2</a>
<a href="#" class="anchor">Link3</a>
</div>
あなたがアドバイスすることができますしてください?
乾杯 クリス
https://jsfiddle.net/qk0bceup/5/ – Andrey
:
stopPropagation()
はsee documentation here例を参照してください、
event
オブジェクトのメソッドでありますここ*、いくつかのサードパーティのサイトではありません。 – deceze今後、この点にご注意ください – Walshie1987