2016-08-09 16 views
1

Ich habe ein Jquery-Formular-Fenster mit mehreren Objekten, mit denen interagiert werden kann, Schaltflächen, Text und schließlich das "X" -Symbol.Interaktion mit Symbolen durch TABING

$('#cancel-feedback, #feedback-dialogs .icon-close, #feedbackCloseAfter').click(function (e) { 
    closeDialog(); 
}); 

Was ich nicht verstehe ist, warum, wenn ich TAB durch die Objekte zu den „# cancel-Feedback“ (was eine Schaltfläche) und drücken Sie Enter-Taste das Fenster geschlossen, aber wenn ich wiederholen Sie den Vorgang für die icon es nicht.

Klicken mit dem Mauszeiger funktioniert in beiden Fällen einwandfrei.

Antwort

2

Das ist, weil das Standardverhalten für eine Schaltfläche Submit von einigen Browsern speziell IE berücksichtigt wird. Wenn Sie dieses Verhalten vermeiden wollen sicherstellen, dass die Schaltfläche Typ explizit festgelegt ist:

Zum Beispiel

<button type="button"> 

Working example

+0

was, wenn ich Symbol möchten Sie dieses Formular schließen, indem er die Eingabe als auch? – Michal

+0

In diesem Fall haben Sie verschiedene Optionen. Entweder das Symbol in ein Schaltflächen-Tag einfügen und explizit den Typ = "Submit" festlegen. Oder Sie können das Icon-Tag mit type = "Submit" haben. Das sollte funktionieren. –

+0

Das Symbol kann keinen Übergabetyp haben, da ich das Formular nicht senden möchte, wenn der Benutzer X aus dem Formular entfernen möchte (es gibt Validierungen, um sicherzustellen, dass die Daten beim Senden korrekt sind, wenn der Typ = submit). Andere Schaltflächen, die das Fenster schließen, haben einen Schaltflächentyp und werden nicht gesendet. Außerdem ist das Symbol bereits in das Schaltflächen-Tag Michal