jQuery toggle()并不总是触发

时间:2016-01-08 16:17:56

标签: javascript jquery

我一直在制作一些基本的移动导航,并使用点击事件来显示/隐藏菜单。

简化代码示例:

        jQuery('.menu-button').click(function(){
            jQuery('.header-nav').toggle();
            console.log('clicked');
        });

我已经在移动设备上进行了远程调试,并且console.log始终有效,但.header-nav toggle()似乎随机不会触发 - 我无法找到它的模式,但它总是保留在DOM(它应该),所以它以某种方式被删除不是它不解雇的原因。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

感谢Kevin B的评论,似乎点击事件多次触发。为了解决这个问题,使用了以下内容:

$(element).off().on('click', function() {
    // function body
});

参考:jQuery click events firing multiple times