我只是想问一下当我按回车键时如何阻止我的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();
}
});
我已经阅读了一些内容,但似乎没有任何效果。
答案 0 :(得分:2)
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
Search();
return false; //you can also say e.preventDefault();
}
});
答案 1 :(得分:1)
在事件中返回false以停止发生的默认事件(提交)。这假设正在触发提交事件。
$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
Search();
return false; //this will stop the default event triggering
}
});
你也可以将它放在表格之外(如果它在里面)。
注意 - 此外,最好直接将事件绑定到您的输入。
$('#Text1').keyup();
答案 2 :(得分:1)
如果我很好理解,可能是页面刷新,因为您可能在输入文本字段之后有一个提交输入(或按钮),因此当您按下回车键时,您也会发送表单本身。
尝试使用
停止事件的传播$(document).keyup(function (e) {
if (e.keyCode == 13) { // enter
e.stopPropagation();
Search();
}
})
答案 3 :(得分:0)
我在这里已经回答了。 https://stackoverflow.com/a/16016122/1047337 这是关于表单中只有一个文本框。