使用的是jquery 1.11代码$(document).on('click','button#test1',function(){ console.log('button clicked');});$(document).keydown(function(event){ if(event.keyCode == 13){ console.log('enter'); $('button#test1').click(); }});如果我直接点击test1这个button,就只输出“button clicked”一次如果我按下回车,输出一次“enter”,然而接着会输出两次“button clicked”这是为什么?怎么解决?
1 回答
不负相思意
TA贡献1777条经验 获得超10个赞
上面说的都真事件重复绑定问题,我从代码上没看出开.
问题就在于 如果button是焦点 你按 enter 本身就要出发一次 button的 click事件,然后你再出发 keydown 事件 所以...
请在点击了按钮之后 让button 失去焦点 然后再按回车 你就知道咋回事了...
添加回答
举报
0/150
提交
取消