2016-05-06 3 views
1

Ich habe ein Formular, das nach Adressen in einer Datenbank sucht. Es wird erwartet, dass jedes Eingabefeld seine Werte als Telefonnummer oder Straßenname erhält und wenn es ein Ereignis auslöst, wenn es den Fokus verliert.überschreiben Tab-Taste Verhalten, so dass es nicht zum nächsten Feld geht (nur das eigentliche Feld Fokus)

Dies funktioniert, aber in der Regel drücken Benutzer die Tabulatortaste, um diese Suche auszuführen, und der Fokus geht zum nächsten Feld, das auch das Keyup-Ereignis auslöst. Da die nächste Eingabe keinen Wert hat, bereinigt sie die Suche, die vom ersten Element ausgeführt wurde.

Ich möchte nicht eine Schaltfläche verwenden, um das Ereignis auszulösen, und wie es ist (Drücken der Tabulatortaste) ist der bevorzugte Weg, dies zu tun, wie kann ich dieses Verhalten verhindern? Könnte ich das Verhalten überschreiben, so dass die Tabulatortaste nicht zum nächsten Eingang geht und nur den fokussierten Eingang fokussiert?

Antwort

2

Ich habe es getestet und es hat funktioniert. Workin jsFiddle Demo.

<input class="x" type="text" value=""> 

jQuery-Code

$('.x').keydown(function(e) { 
     if (e.keyCode == 9) { 
      e.preventDefault(); 
     } 
    }); 
+0

schön und sauber. Hat funktioniert! –

+1

Ich habe vergessen, mit Dokument fertig zu machen, aber Sie bekommen es :) – vaso123

Verwandte Themen