Wenn Sie die Leertaste auf ein Kontrollkästchen setzen, wird das Kontrollkästchen aktiviert. Alles war in Ordnung, bis ich entschied, das Click-Ereignis auf dem Eltern-Div zu deaktivieren, was, wie ich bemerkte, auch die Leertaste auf der Checkbox deaktivierte!Leertaste löst Klickereignis auf Checkbox aus?
div1.addEventListener("click",function (e) {
if (e.preventDefault) e.preventDefault();
e.cancelBubble = true;
return false;
}, true);
<div id="div1">
<input id="chk1" type="checkbox">
</div>
http://jsfiddle.net/0t01252x/1/
Wie ich das verhindern kann? Es scheint mir ein sehr merkwürdiges Verhalten zu sein. Klicken Sie auf Ereignisse Ereignisse klicken, nicht Tastaturereignisse ...
Hinweis: getestet mit Chrom und FF
Edit: Schlimmste: outputing das Ereignis in der Konsole gibt einen ... Mouseevent!
was ist das Verhalten Sie suchen? – jmore009
Ich bin bei dir hier, das hätte ich nicht erwartet. Vielleicht hielten Browser-Anbieter das für eine gute Idee? Wie wenn sie den Schlüsselcode der "[enter]" - Taste ganz rechts auf der Tastatur so geändert haben, dass er derselbe wie der in der Nähe der Mitte ist. – Halcyon
@ jmore009, Tastaturereignisse sollten nicht deaktiviert werden, klicken Sie nur Ereignisse – Sebas