Hallo Barksalot,
was verstehst Du denn nicht? Den Unterschied zwischen target und currentTarget habe ich doch erläutert.
Und die Gefahr ist nicht klein. Es gibt auch Leute mit spitzen Fingern, oder einem Stylus. Oder einem schmalen Desktop-Fenster, dann kann man mit der Maus zielen.
Ein Eventhandler bekommt ein Event-Objekt übergeben.
function( { target } ) {
}
diese Schreibweise verwendet Objekt-Dekonstruktion, ein relativ neues JavaScript-Feature, um aus diesem Event-Objekt automatisch das target-Property herauszuholen. Wenn man mit spitzem Finger an die falsche Stelle tippt (oder mit einem Stylus), ist das aber das path-Objekt und nicht der Button.
Hast Du die Objekt-Dekonstruktion selbst eingebaut oder irgendwo kopiert, ohne sie zu verstehen? Falls kopiert: Im Self-Wiki finde ich sie gerade nicht unter diesem Namen. Im MDN gibt es auf jeden Fall Erläuterungen dazu.
Du musst
function( { currentTarget } ) {
}
verwenden, um bei Event-Bubbling das richtige Objekt zu verarbeiten. (Bubbling findet statt, wenn Du das Icon tippst statt den Text - es mag aber auch sein, dass es da Browser-Unterschiede gibt und Dir das Problem deshalb nicht auffällt. Ich verwende Chrome 68 für Windows und habe das Fenster schmal gezogen, um das Menü zu testen).
Oder, mit klassischer Schreibweise, ohne Dekonstruktion:
function(event) {
var currentTarget = event.currentTarget;
}
Rolf
sumpsi - posui - clusi