我一直在进行一些基本的移动导航,并使用click事件来显示/隐藏菜单。
简化的代码示例:
jQuery('.menu-button').click(function(){
jQuery('.header-nav').toggle();
console.log('clicked');
});
我已经在移动设备上进行了远程调试,console.log始终可以运行,但是
.header-nav
toggle()
似乎不会随机触发-我无法发现模式,但它始终保留在DOM中(应该),因此将其以某种方式删除并不是其未触发的原因。有任何想法吗?
最佳答案
感谢Kevin B的评论,单击事件似乎多次触发。为了解决这个问题,使用了以下方法:
$(element).off().on('click', function() {
// function body
});
参考:jQuery click events firing multiple times