我的页面上有一个简单的文本框和按钮类型输入。
<input id="sText" type="text" />
<input id="sButton" type="button" value="button" />
我使用 jQuery 捕捉按钮点击。
$("[id$=sButton]").click(function () {
...do Stuff
});
只要我手动点击按钮,上面的代码就可以正常工作。当我想使用“回车”键来单击按钮时,我开始遇到问题。无论我做什么,我都无法阻止回车键执行它的默认提交功能。
我做的第一件事是将输入类型从“提交”更改为“按钮”。
我尝试将表单的 onsubmit 设置为 onsubmit="return false;"
我尝试使用 jQuery 来捕获回车键事件:
$("#sText").keyup(function (event) {
if (event.keyCode == 13) {
alert("Enter!");
// $("#sButton").click();
}
});
每次按回车键,就像提交表单一样,整个页面刷新。上面的 jQuery 代码确实捕获了“enter”击键,但表单仍会提交并刷新页面。
我不确定发生了什么。
最佳答案
您需要取消操作。
event.preventDefault();
但我相信您只能使用 keydown 而不是 keyup 来终止表单提交。
关于javascript - 按 Enter 总是提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8750399/