javascript - 每当调整浏览器大小时,点击事件都会多次触发

标签 javascript onclick resize

我目前正在构建这个移动菜单,但我遇到了 on('click') 事件的问题。每当我尝试调整浏览器大小时,事件 都会触发多次。起初加载脚本和事件工作正常,但当我开始调整浏览器大小时事件触发多次。

下面是我正在处理的代码示例。有没有办法在调整大小后仅触发一次。我尝试了一个临时解决方案,但它似乎没有生效。

(function($){
    'use strict';

    var mobileMenu = {

        init : function() {


            $('.region-primary-menu').addClass('primary-mobile-menu');

            $('.primary-mobile-menu .menu.-primary > .menu-item').addClass('mobile-menu-item');

            $('.primary-mobile-menu .menu.-primary > .mobile-menu-item').on('click', function() {
                $(this).toggleClass('active');

                console.log('click');
            })
        },

        clear : function() {
            $('.primary-mobile-menu, .mobile-menu-item').removeClass('primary-mobile-menu mobile-menu-item');
        }
    }

    $(document).ready(function() {


        if ($(window).width() < 1180) {
            mobileMenu.init();
        }

        else {
            mobileMenu.clear();
        }
    });



    $(window).on('resize', function(e) {

        var resizeTimer;

        clearTimeout(resizeTimer);
        var resizeTimer = setTimeout(function() {
            if ($(window).width() < 1180) {
                mobileMenu.init();
            }

            else {
                mobileMenu.clear();
            }
        }, 100)
    });



})(jQuery)

最佳答案

这是因为 mobileMenu.init(); 函数中附加了 click 事件。在调整大小时,将附加一个新的 click 事件。您可以使用 jQuery.off

$('.primary-mobile-menu .menu.-primary > .mobile-menu-item').off('click').on('click', 

关于javascript - 每当调整浏览器大小时,点击事件都会多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182747/

相关文章:

javascript - 输出javascript数组的内容

javascript - windows.location.href 更改导致 POST,期望 GET

php - onclick leads function leads increment 重置页面,value + 1

android - RecyclerView Cards - 打开新 Activity

Swift:如何调整 UIView 大小并保持内容居中?

html - 调整 sprited 图像的大小

javascript - 单击单个元素时多选js引发也checkall

javascript - 使用此(或其他 javascript)函数了解 XMLHttpRequest 响应?

javascript - Chrome javascript 调整大小缓慢?

javascript - 意外的画笔过滤行为