Ich habe einige Marker in einer Google Map; Ich möchte dem Körperelement einen Listener hinzufügen, der erkennt, ob das angeklickte Element eine bestimmte Klasse hat, und in diesem Fall bestimmte Aktionen ausführt.Mehrere Ereignisse ausgelöst, wenn Event Body zu Body Element hinzugefügt wurde
Jetzt jedes Mal, wenn ich auf Zielelement klicke, wird das Ereignis für alle Elemente ausgelöst, die die fragliche Klasse haben.
document.body.addEventListener('click', function(e) {
e.stopPropagation();
if (e.target.className === "price-bubble") {
// do stuff
console.log("hit target");
} else {
// do other stuff
console.log("not hit target");
}
});
html,
body {
height: 100%;
}
body {
border: 1px solid;
}
.price-bubble {
border: 1px solid blue;
}
<div class="map">
<div class="room-marker">
<div class="dot" style="display: block;">
<div class="spacer"></div>
<div class="element">
<div class="icon"></div>
</div>
</div>
<div class="bubble">
<div class="spacer"></div>
<div class="element">
<div class="price-bubble">12,20 €</div>
</div>
</div>
<div class="bubble">
<div class="spacer"></div>
<div class="element">
<div class="price-bubble">12,20 €</div>
</div>
</div>
<div class="bubble">
<div class="spacer"></div>
<div class="element">
<div class="price-bubble">12,20 €</div>
</div>
</div>
<div class="bubble">
<div class="spacer"></div>
<div class="element">
<div class="price-bubble">12,20 €</div>
</div>
</div>
<div class="bubble">
<div class="spacer"></div>
<div class="element">
<div class="price-bubble">12,20 €</div>
</div>
</div>
</div>
</div>
gibt es einen einfachen Tippfehler in Ihrem Code '=' => '==' –