stopPropagation nicht verstanden?
bearbeitet vonMoin,
wenn ich auf ein Info-Symbol klicke, soll das Klick-Event die Info-Anzeige per Ajax vom Server holen und anzeigen, aber nicht weitergemeldet werden. Deshalb versehe ich diese `(i)` Symbole mit der Bitte `stopPropagation`.
Auf der Seite [http://remso.eu/](http://remso.eu/) habe ich das rot umrandete Werbe-div in den `<a>` tag eingeschlossen. Egal wohin man klickt, der Link führt zu den Seiten des Gasthauses.
Mit einer Ausnahme: Das Hilfe-Symbol `(i)` unten links innerhalb des Werbe-div soll bei Klick nur einen erklärenden Text einblenden, aber nicht zum Gasthaus verlinken.
Der Link wird trotz stopPropagation ausgeführt. Warum?
~~~html
<img id="werbung" class="help" src="img/icon_info.png" alt="?" title="Info" />
~~~
~~~js
window.addEventListener('DOMContentLoaded', function ( ) {
//alert( "hier ajax_getHelptext.js" );
// Textfeld einrichten
var erster = document.getElementsByTagName( "body" )[0].firstChild;
var newDiv = document.createElement("div");
newDiv.id = "helptext";
document.body.insertBefore( newDiv, erster );
/* *************************************************
*
* HELP-Icons/Buchstaben anschliessen
*
************************************************* */
obj_help = document.getElementsByClassName( "help" );
for ( i=0; i<obj_help.length; i++ ) {
if ( obj_help[i].id ) {
obj_help[i].addEventListener('click', function (event) {
getHelptextXY( bia_domain, bia_owner, bia_kw, bia_ll, this.id, bia_lg, event.clientX, event.clientY );
event.stopPropagation(); // Klick-Event verbirgt sonst den helptext wieder
});
}
}
});
~~~
Gruß, Linuchs