Einfaches Beispiel,
funktioniert wie erwartet....
http://jsfiddle.net/yp128r1e/
nicht...
http://jsfiddle.net/yp128r1e/1/
@hilem Dies ist nicht bei allen Ereignistypen ein Problem. Es scheint speziell ein Problem mit Klick zu sein. Ich vermute, dass Ember das Standardereignisverhalten verhindert, das der Browser annimmt, um zu bedeuten, dass das Kontrollkästchen den Status nicht ändern sollte. Ich glaube nicht, dass das ein Bug ist. Die Lösung wäre, einen Aktionshandler nicht auf diese Weise anzuwenden, wenn Sie auch andere Dinge wie Kontrollkästchen behandeln möchten.
@wagenet Dies ist ein sehr häufiges Designmuster. Um in der Lage zu sein, auf eine beliebige Stelle in einer Zeile zu klicken, um eine Zeile auszuwählen, und nicht nur auf das Kontrollkästchen der Zeile. Das Kontrollkästchen wurde nur hinzugefügt, um zu betonen, dass es auswählbar ist und aus Gründen der Zugänglichkeit, und Sie sagen mir, dass die einzige Möglichkeit, damit umzugehen, darin besteht, kein Kontrollkästchen zu verwenden, sondern ein Kontrollkästchen mit Bildern oder was auch immer zu fälschen. Denn anders geht das nicht. Das belastet den Test der Zugänglichkeit stark, der ansonsten in Ordnung wäre. Übrigens ist dies bei anderen Formularelementen kein Problem. Ich habe dieses Verhalten nur mit der Checkbox entdeckt. Es ist eine Sache zu sagen, dass Ember dieses Problem eine Weile angehen muss, da es zu schwierig ist, mit der Art und Weise umzugehen, wie der Code derzeit aufgebaut ist, aber ich sehe nicht, wie Sie argumentieren können, dass dies kein Fehler ist.
Standardmäßig verhindert der Aktionshelfer die Standardaktion. In diesem Fall bedeutet dies, dass Checkboxen nicht ausgelöst werden. Sie können dies überschreiben, indem Sie preventsDefault=false
für den Helfer festlegen. Siehe http://jsfiddle.net/yp128r1e/3/.
Danke @wagenet !
Hilfreichster Kommentar
Standardmäßig verhindert der Aktionshelfer die Standardaktion. In diesem Fall bedeutet dies, dass Checkboxen nicht ausgelöst werden. Sie können dies überschreiben, indem Sie
preventsDefault=false
für den Helfer festlegen. Siehe http://jsfiddle.net/yp128r1e/3/.