Javascript 为什么 onClick 被回车键调用
Javascript why onClick getting called by enter-key
我有一个带有 onClick 事件的按钮和一个带有 onKeyDown 事件的文本框。
Button: onclick="myFunc(3)"
Textfield: onKeyDown="if(event.keyCode==13) myFunc(3);"
如果我按下回车键,按钮就会被调用,但我不知道为什么。
当您在文本字段中按 Enter 时,会触发表单提交,浏览器会模拟单击表单的第一个提交按钮。
您可以通过阻止按键(而非按键)事件的默认操作来避免这种情况。
var s = document.querySelector('[type=submit]');
var t = document.querySelector('[type=text]');
var f = document.querySelector('form');
t.addEventListener('keydown', function(event) {
if (event.keyCode == 13) {
alert("enter pressed")
}
});
t.addEventListener('keypress', function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
<form action="/">
<input type="text">
<input type="submit">
</form>
我有一个带有 onClick 事件的按钮和一个带有 onKeyDown 事件的文本框。
Button: onclick="myFunc(3)"
Textfield: onKeyDown="if(event.keyCode==13) myFunc(3);"
如果我按下回车键,按钮就会被调用,但我不知道为什么。
当您在文本字段中按 Enter 时,会触发表单提交,浏览器会模拟单击表单的第一个提交按钮。
您可以通过阻止按键(而非按键)事件的默认操作来避免这种情况。
var s = document.querySelector('[type=submit]');
var t = document.querySelector('[type=text]');
var f = document.querySelector('form');
t.addEventListener('keydown', function(event) {
if (event.keyCode == 13) {
alert("enter pressed")
}
});
t.addEventListener('keypress', function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
<form action="/">
<input type="text">
<input type="submit">
</form>