嗯,这就是发生了什么。没有点击的jQuery触发点击事件
$('.js-custom-dropdown').find('.custom-dropdown-unfolded').toggle();
$('.custom-dropdown-btn, .custom-dropdown-btn-unfolded').keydown(function(event){
if (event.keyCode === 13) {
openDropdown($(this));
}
}).click(function(){
openDropdown($(this));
});
function openDropdown (element){
element.parents('.js-custom-dropdown').find('.custom-dropdown-unfolded').toggle();
console.log($(this))
}
当我点击下拉按钮,openDropdown
功能被执行一次,但是当我标签我的方式按钮,然后按回车,函数被调用两次。猜猜这与链接有关,但我承认我是新手,并没有完全理解jQuery设计模式。我可以通过cource在处理程序中调用该函数两次,这将解决问题,但是..您知道:)
请问您能解释代码中出现了什么问题以及导致此类行为的原因?
是不是因为你有2个事件监听器 - 一个用于keydown(当你按下回车键时会触发),另一个用于单击按钮时(当我按下回车键时,我猜你正在做什么) – Pete 2013-03-27 09:20:07