2012-01-02 19 views
0

私はちょうどEnterキーを押したときに私のHTMLテキストボックスが爽やかにならないようにすることができます。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(); 
     } 
    }); 

私はちょっと読んだことがありますが、何も動作していないようです。

答えて

1

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

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

また、フォームの外に置くこともできます(内部にある場合)。

- イベントを入力に直接バインドした方がよい場合もあります。私はよく理解した場合

$('#Text1').keyup(); 
2
$(document).keyup(function (e) { 
    if (e.keyCode == 13) { // enter 
    Search(); 
    return false; //you can also say e.preventDefault(); 
    } 
}); 
+0

これはうまくいきます...奇妙な、遅い時間私はこれを試してみましたが動作しませんでした!とにかくありがとう。 – GeekMasher

1

、多分ページ更新あなたは、提出入力(またはボタン)を持っている可能性があるため、テキスト入力フィールドにした後、あなたが入力したキーを打つときに、あなたはまた、フォーム自体を送信します。

は、私はここでそれに答えている

$(document).keyup(function (e) { 
    if (e.keyCode == 13) { // enter 
     e.stopPropagation(); 
     Search(); 
    } 
}) 
関連する問題