我正在使用JS / jQuery制作响应式菜单。菜单可以使用,但是如果您在“移动”区域内调整窗口大小(1024像素),则下拉标签的切换功能将随机停止工作。这是脚本:$(document).ready(function(){ function mobile(){ $('.menu-toggle').click(function(){ $('#menuM').toggle(); });}$(window).resize(mobile);mobile();function resMenu() { var sTest = $('#sizeTest').css('float'); $('#sizeTestText').text("current sizeTest = " + sTest); if (sTest === 'left') { $('nav').attr('id', 'menuM'); $('#menuM').hide(); $('#menuM .has-sub').click(function(e) { e.preventDefault(); $('#menuM ul li').not($(this).parent()).removeClass('tap'); $(this).parent().toggleClass('tap'); }); } else { $('nav').attr('id', 'menu'); $('#menu').show(); $('#menuM ul li').removeClass('tap'); } var navTest = $('nav').attr('id'); $('#linkTest').text("current nav id = " + navTest);}$(window).resize(resMenu);resMenu();});任何帮助将不胜感激。 最佳答案 您在事件处理程序中有一个事件处理程序,重构后的代码看起来像$(window).resize(function() { $('.menu-toggle').click(function(){ $('#menuM').toggle(); });});随着调整大小事件在调整窗口大小时触发数百甚至数千次,您刚刚添加了数千个单击处理程序。许多众多的点击处理程序彼此抵消,因此,只有当您有奇数个点击处理程序,最终得到偶数个点击处理程序时(例如,当resize事件触发1032次时,效果将被取消。关于javascript - 窗口调整大小功能随机不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25770559/ 10-11 13:21