Dieses Meteor Client-Vorlagenereignis wird mehrere Male ausgelöst, von 2 bis 23 mal, je nachdem, wo ich auf den Bildschirm klicke.
Warum und wie es zu beheben?Klicken Sie auf Ereignis wird mehrere Male ausgelöst
Template.myT.events({
'click *:not(canvas)': function(e) {
console.log(e.target);
return;
});
hier ist die Ausgabe von der Konsole
Was passiert, wenn ein HTML-Element eines Vorfahren auf einen anderen Handler gesetzt wird? 'e.stopPropagation()' würde es stoppen, was wahrscheinlich nicht das ist, was Sie wollen. Eine bessere Antwort (imo) wäre, die Handler nicht auf so viele Elemente zu setzen. ''click *: not (canvas)'' ist nicht sehr spezifisch - Sie sollten wahrscheinlich ein 'id' oder' class' Attribut verwenden. –
@DavidKnipe Der Code muss das Klickereignis außerhalb der Zeichenfläche erfassen. Wie empfehlen Sie, das Problem mit "id" oder "class" zu lösen? –
@FredJ., Achten Sie auf das click-Ereignis om das body-Element und prüfen Sie, ob 'e.target == theCanvasElement'. –