私はHTMLフォームを持っています。 JavaScriptを使用して、私がしたい:同じキーをリスンする複数のオブジェクト
- ラインを有効にしますがに壊れ、私はときに私私のファイルを送信してからスクリプトを防ぎたいという意味(あなたがクリックどんなにを入力しのデフォルトのイベントを無効に
- を入力します。 を入力してください)
一般的に私はこれを行う方法を知っています。以下はそれぞれのJavaScriptコードです。私はそれらをテストし、彼らは自分で完全に正常に動作します。 (注:私は変数に保存されているいくつかのtextbox
とinput
要素がある。)
textbox.addEventListener("keypress", function(e) {
var key = e.which;
if (key == 13) {
event.preventDefault();
for(i=0; i<textbox.length; i++) {
textbox[i].value = textbox[i].value + "\n";
return false;
};
}
});
input.addEventListener("keypress", function(e) {
var key = e.which;
if(key=13) {
event.preventDefault();
return false;
}
});
私もテキストボックスのための私の関数から
event.preventDefault();
を削除し、代わりに
document.addEventListener("keypress", function(e) {
var key = e.which;
if (key == 13) {
event.preventDefault();
}
});
を使用してみました
しかし、明らかにそれもうまくいきませんでした。他の質問では、私はあなたが同じキーのために複数のオブジェクトを持つことができないことを読んだが、私はそれがここに当てはまるかどうか分からないのですか?
function disableEnter(e) {
var key = e.which;
if(key == 13) {
event.preventDefault();
}
}
はしかし、再び、それは動作しませんでした:
私が試したもう一つは、このように見えた入力と体がロードされたときに関数を呼び出すための機能を、削除することでした。
1つのキーに2つの機能を接続することはできませんか?もしそうなら、私はこれを回避し、まだページのデフォルトを防ぐ方法はありますか?
編集:私は、私はそれぞれtextbox
とinput
と呼ばれる配列に保存された私の形で、いくつかのtextarea
とinput
の要素を持っている:私はちょうどそれが完全には明らかではないかもしれないことに気づきました。
:私はあなたのHTMLがどのように見えるかわからないんだけど、これは
input
とtextarea
を使用して、簡単なフォームでの例ですウィンドウがロードされるたびに呼び出される関数でforループをラップする " –