2016-06-28 7 views
0

Ich versuche, meine Anwendung zugänglich zu machen, und dabei eine der Anforderungen schlägt vor, dass die gesamte Anwendung über die Tastatur verwendbar sein soll. Zur Vervollständigung dieses I keypress den folgenden CodeÜberschreibe das keypress-Ereignis in jQuery

$("#id").unbind("click keypress").bind("click keypress", function() {/*some code*/}); 

Jetzt funktionierts hinzugefügt habe, aber das Problem ist, dass es für jeden anderen Schlüssel funktioniert auch. Ich würde es nur für geben Sie und SpaceBar. Ich könnte einen Keydown verwenden, der den Keycode fängt und nur auf seine 13 (Enter) oder 32 (Space) reagiert, aber ich habe den Tastendruck an mehr als 70 Stellen geändert und nur beim Testen gefunden. Gibt es eine Möglichkeit, wie ich das Standard-jQuery-Tastendruckereignis überschreiben kann, so dass es nur auf das Drücken der obigen 2 Tasten reagieren würde?

Antwort

0

Versuchen Sie, die folgenden

$("#id").unbind("click keypress").bind("click keypress", function (e) { 
if(e.which == 13 || e.which == 32){ 
/*some code*/ 
} 

}); 

mich Bitte aktualisieren, wenn es für Sie arbeitet

+0

Eigentlich denn ich hatte gehofft, dass eine Lösung, die ich eher global an einem Ort kann sie individuell in allen 70 Orten aktualisieren. –

+0

Nun, dann können Sie eine gemeinsame Klasse oder etwas allgemeines an diesen 70 Stellen platzieren und dann anstelle von #id selector verwenden. Das wird besser. I GUESS – patilprashant6792

+0

Auch das Klickereignis scheint nicht mehr zu funktionieren. Trotzdem danke für die prompte Antwort. –