2009-08-23 8 views
1

私は自分のhtmlフォームでEnterキーを無効にするためにopenjs.comのショートカット処理(1) を使用しています。しかし、その形のテキストエリアの中に、私は通常のCR-LFペアを出すためにキーを入力したいと思っています。現時点で選択的にHTMLテキストエリアに入力キーを有効にします(javascript)

は、次のように私は、フォーム/入力構造を持っていると仮定すると:

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

次のスクリプトが実行されます:

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

は、これが効果的にEnterキーを無効にします。

私はテキストエリアのためにそれを再度有効にするには、次のコードを使用して試してみました:

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

しかし、それは動作しません。このイベントの伝播の順序は何ですか?テキストエリアからバブルアップするか、フォーム要素からバブルダウンする必要がありますか?

答えて

3

このライブラリは実際にこの方法で使用されるようには見えません。私は、ショートカットを追加すると、後で何をするにせよ、ブラウザーがそれを完全に処理できなくなってしまうのではないかと推測されます。

あなたは実際に何を達成しようとしていますか?フォームが送信されないようにするには、event.preventDefault()を呼び出すフォーム全体にsubmitevent listenerを追加します。

関連する問題