0

我只是想问一下当我按下回车键时如何阻止我的 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

如果我很好理解,可能是页面刷新,因为您可能在输入文本字段之后有一个提交输入(或按钮),所以当您按下回车键时,您也会发送表单本身。

尝试停止事件的传播

$(document).keyup(function (e) {
    if (e.keyCode == 13) { // enter
        e.stopPropagation();
        Search();
    }
})
于 2012-01-02T12:34:02.027 回答
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 回答
0

我已经在这里回答了。https://stackoverflow.com/a/16016122/1047337 这是关于表单中只有一个文本框。

于 2013-04-15T13:17:25.023 回答