1

Ist es möglich, die Eingabetaste für ein Element in der Dropdown-Liste in Twitter Typeahead zu deaktivieren? Ich verwende Angular mit Typescript.Eingabetaste auf Twitter deaktivieren Typahead?

Ich habe versucht, preventDefault() zu verwenden, wenn auf ng-keydown in der Typeahead-Eingabe. ng-keydown erkennt enter wurde gedrückt, aber es gibt keine Möglichkeit, typahead von der Auswahl des Elements zu stoppen.

Muss ich einen Typahead-Listener bei Eingabe oder etwas deaktivieren?

+0

Haben Sie es versucht auf 'input' Element oder' form' Element? Für mich funktioniert es, wenn ich führe: '' ' $ ('Form'). On ('senden', Funktion (e) {event.preventDefault();}); '' ' Jedoch schlage ich vor, spezifischere Auswahl zu verwenden;) – bognix

Antwort

0

Haben Sie es versucht auf input Element oder form Element?

Bei mir funktioniert es, wenn ich ausführen:

$('form').on('submit', function(e) {event.preventDefault();}); aber ich spezifischere Wähler empfehlen die Verwendung;)

Oder man kann es auf input Feld tun, aber Sie müssen das Ereignis von Ausbreitung zu verhindern. Die preventDefault verhindert nur das Standardverhalten für das Ereignis - im Falle der Eingabe aktualisiert es seinen Wert. Was Sie tun möchten, ist das Formular von der Einreichung zu stoppen, so dass Sie die Ereignisausbreitung stoppen müssen.

Hier ist der Code-Schnipsel, die für die Eingabe funktionieren sollte:

$('#demo-input').on('keydown', function(e) { 
    if (e.keyCode === 13) { 
     return false 
    } 
}); 

Bei der Verwendung von jQuery die return false in Ereignishandler tut das gleiche wie der Aufruf von e.preventDefault() und e.stopPropagation().