为什么onClick被enter键调用
Javascript why onClick getting called by enter-key
我有一个带有onClick-event的按钮和一个带有onKeyDown-event的文本域。
Button: onclick="myFunc(3)"
Textfield: onKeyDown="if(event.keyCode==13) myFunc(3);"
按钮被调用了,如果我按下回车键,我不知道为什么。
当您在文本字段中按Enter键时,将触发表单提交,浏览器将模拟单击表单的第一个提交按钮。
您可以通过阻止keypress(而不是keydown)事件的默认动作来避免这种情况。
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>
如果表单中有一个<button>
元素(如果按钮的目的是不提交表单),而没有将类型指定为type="button"
,则会遇到这种情况。
相关文章:
- JavaScript:在调用函数的文本输入上按enter键
- 如何在按Enter键后调用onclick函数
- 多次调用svg.selectAll(X).data().enter()
- 按 Enter 键并调用按钮函数
- 如何防止在按下“Enter”键时触发HREF(调用JS函数)
- “Enter”键在文本框处于活动状态时调用javascript函数
- 按ENTER键调用javascript函数
- 如何在html中按enter键时调用javascript函数
- 当用户在输入id=“”中填充文本时,如何调用函数java脚本;value_ 1”;然后按键盘上的“Enter”
- 如何通过在登录视图的密码输入字段中按enter键来调用函数
- Angular.js单元测试不调用$animate.enter回调
- 无法使用ENTER键调用函数
- 为什么onClick被enter键调用
- 使用Angular在Enter键上调用查询过滤器
- d3.js:转换回调不会被enter()调用
- 防止按下enter键时多次调用按键方法
- 为什么IE9在按enter键时调用get方法而不是post,如何修复?
- 如何在输入类型="文本"中按下Enter键后调用JavaScript函数
- 按Enter键调用javascript函数
- 在按下Enter键后调用onChange事件