2009-08-23 7 views
1

Ich benutze Openjs.com Shortcut-Behandlung (1) , um die Eingabe-Taste in meinen HTML-Formularen zu deaktivieren. Innerhalb von Textareas in diesen Formen möchte ich Enter-Taste das normale CR-LF-Paar emittieren (weil das ist, was Benutzer erwarten).Aktivieren Sie selektiv Enter-Taste in HTML-Textbereich (Javascript)

Im Moment vorausgesetzt, ich habe eine Form/Input-Struktur wie folgt:

<form id="f1"> 
<fieldset> 
    <input> 
    <textarea id="f2"> ... 

Die folgenden Skripte werden ausgeführt:

shortcut.add('Return', function() { /*empty*/ }, 
{ 'type':'keydown', 'disable_in_input':false,'propagate':true, 
    'target':document.getElementById('f1')});" 

Diese effektiv die Enter-Taste deaktiviert.

Ich habe versucht, den folgenden Code verwenden es für das Textfeld wieder zu aktivieren:

shortcut.add(\"Enter\", function() { }, {'type':'keydown','propagate':false, 
'disable_in_input':false, 'target':document.getElementById('f2') }); 

Aber das funktioniert nicht. Was ist die Reihenfolge der Verbreitung dieses Ereignisses? Sollte es aus dem Textfeld aufsteigen oder vom Formularelement herunterblubbern?

Antwort

3

Es sieht nicht so aus, als ob diese Bibliothek wirklich so verwendet werden sollte. Ich würde vermuten, dass das Hinzufügen eines Shortcuts die Handhabung des Browsers gänzlich deaktiviert, ganz gleich, was Sie danach tun.

Was versuchen Sie eigentlich zu erreichen? Wenn Sie nur verhindern möchten, dass das Formular gesendet wird, können Sie für das gesamte Formular, das event.preventDefault() aufruft, submitevent listener hinzufügen.

Verwandte Themen