我一直在进行一些基本的移动导航,并使用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

10-05 21:07
查看更多