Wie kann ich die trigger ein keyup-Ereignis und übergeben Sie die Schlüssel?
Habe ich ein Feld, das "korrigiert" selbst, wie Sie geben. Wir haben etwas code geschrieben, der verhindert, dass diese Funktionalität, wenn die Pfeiltasten gedrückt werden:
handleKeyUp: function(e) {
var arrowKeys = _.range(37, 41),
key = e.which;
//allow user to move cursor by keyboard
if ($.inArray(key, arrowKeys) < 0) {
this.removeInvalidCharacters();
}
},
Wir möchten, schreiben Sie einen unit-test für diese; wir können jedoch nicht herausfinden, wie pass e.which
über $input.trigger('keyup')
. Ich weiß, der zweite parameter der trigger ermöglicht es uns, senden eine "extra-Optionen"; jedoch, dass gerade übergibt die Werte mehrere Werte, die handleKeyUp
Funktion. Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese -
http://api.jquery.com/category/events/event-object/
Ich würde es erlauben
handleKeyUp
zu akzeptieren, entweder ein Ereignis-Objekt oder eine ganze Zahl ist. Fügen Sie einfach eine zusätzliche Zeile für die Definition, waskey
ist, je nach der Art dere
. Dann wird Ihr unit-test ausgeführt werden kannhandleKeyUp(40)
. Dies ist natürlich vorausgesetzt, dass der Zweck der unit-test ist nicht zum testen derkeyup
- Handler auf die Eingänge.