Javascript为什么通过enter键调用onClick

Javascript为什么通过enter键调用onClick,javascript,onclick,key,enter,Javascript,Onclick,Key,Enter,我有一个带有onClick事件的按钮和一个带有onKeyDown事件的文本字段 Button: onclick="myFunc(3)" Textfield: onKeyDown="if(event.keyCode==13) myFunc(3);" 不知何故,如果我按enter键,按钮会被调用,我不知道为什么。当您在文本字段中按enter键时,您会触发表单提交,浏览器会模拟单击表单的第一个提交按钮 您可以通过防止按键(而非按键)事件的默认操作来避免这种情况 var s=document.que

我有一个带有onClick事件的按钮和一个带有onKeyDown事件的文本字段

Button: onclick="myFunc(3)"
Textfield: onKeyDown="if(event.keyCode==13) myFunc(3);"

不知何故,如果我按enter键,按钮会被调用,我不知道为什么。

当您在文本字段中按enter键时,您会触发表单提交,浏览器会模拟单击表单的第一个提交按钮

您可以通过防止按键(而非按键)事件的默认操作来避免这种情况

var s=document.querySelector(“[type=submit]”);
var t=document.querySelector(“[type=text]”);
var f=document.querySelector('form');
t、 addEventListener('keydown',函数(事件){
如果(event.keyCode==13){
警报(“按enter键”)
}
});
t、 addEventListener('keypress',函数(事件){
如果(event.keyCode==13){
event.preventDefault();
}
});

在文本字段中按Enter键时,触发表单提交,浏览器模拟单击表单的第一个提交按钮

您可以通过防止按键(而非按键)事件的默认操作来避免这种情况

var s=document.querySelector(“[type=submit]”);
var t=document.querySelector(“[type=text]”);
var f=document.querySelector('form');
t、 addEventListener('keydown',函数(事件){
如果(event.keyCode==13){
警报(“按enter键”)
}
});
t、 addEventListener('keypress',函数(事件){
如果(event.keyCode==13){
event.preventDefault();
}
});


我们需要更多的信息才能有效地回答这个问题。请发布相关的HTML。特别是,该按钮是“提交”按钮吗?另外,既然您在两种情况下都调用了相同的函数,那么您如何知道正在触发按钮单击?我们需要更多的信息才能有效地回答此问题。请发布相关的HTML。特别是,该按钮是“提交”按钮吗?还有,既然在两种情况下都调用了相同的函数,你怎么知道按钮点击被触发了呢?这是我的另一个理论,但考虑到这个问题缺乏关于表单的任何信息,或者按钮是提交的……这是我的另一个理论,但是考虑到这个问题缺少关于表单的任何信息或者按钮是一个提交。。。