使用jquery$(xx).click()激活点击事件,结果点击事件执行了两次。

使用的是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”

这是为什么?怎么解决?


米脂
浏览 927回答 1
1回答

不负相思意

上面说的都真事件重复绑定问题,我从代码上没看出开.问题就在于 如果button是焦点 你按 enter 本身就要出发一次 button的 click事件,然后你再出发 keydown 事件 所以...请在点击了按钮之后 让button 失去焦点 然后再按回车 你就知道咋回事了...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript