0

Enterキーを押したときにhtmlテキストボックスが更新されないようにするにはどうすればよいですか。

<div id="topSearchBox">
   <input id="Text1" type="text" value="search..."/>
   <img id="topSearchBoxIcon" alt="search buttom" src="~Images/Search-32x32.png" width="18px" height="18px" />
</div>

他のことをするように指示するスクリプトがありますが、スクリプトが完了すると、とにかくページが更新されます。

$(document).keyup(function (e) {
        if (e.keyCode == 13) { // enter
            Search();
        }
    });

私はそれについて少し読みましたが、何も機能していないようです。

4

4 に答える 4

2
$(document).keyup(function (e) {
  if (e.keyCode == 13) { // enter
    Search();
    return false; //you can also say e.preventDefault();
  }
});
于 2012-01-02T12:33:38.030 に答える
1

私がよく理解していれば、入力テキストフィールドの後に送信入力(またはボタン)がある可能性があるため、ページが更新され、Enterキーを押すとフォーム自体も送信される可能性があります。

でイベントの伝播を停止しようとします

$(document).keyup(function (e) {
    if (e.keyCode == 13) { // enter
        e.stopPropagation();
        Search();
    }
})
于 2012-01-02T12:34:02.027 に答える
0

こちらで回答させていただきました。https://stackoverflow.com/a/16016122/1047337 フォームにテキスト ボックスを 1 つだけ持つことです。

于 2013-04-15T13:17:25.023 に答える
0

イベントで false を返し、デフォルトのイベント (送信) の実行を停止します。これは、送信イベントがトリガーされていることを前提としています。

$(document).keyup(function (e) {
    if (e.keyCode == 13) { // enter
        Search();
        return false; //this will stop the default event triggering 
    }
});

フォームの外側に配置することもできます (フォームの内側にある場合)。

- また、イベントを入力に直接バインドした方がよいでしょう。

$('#Text1').keyup();
于 2012-01-02T12:31:51.377 に答える