调整大小后,窗口大小调整事件中断切换

Window re-size event breaks toggle after resize

本文关键字:调整 中断 事件 窗口大小      更新时间:2023-09-26

我在下面的代码中遇到了问题。 我为切换div 创建了一个窗口大小调整事件。 目的是在较小的设备上,标头将切换内容,否则内容将按原样显示。我遇到的问题是当我刷新页面时,它工作得很好。 第二次我调整它的大小并单击切换,它会导致某种递归调用 5 次,因此它来回切换 5 次。 有什么建议吗?

$(window).resize(function() {
if ($(window).width() > 767) {
  $(".toggle" ).show();
}
else {
  $(".toggle" ).hide();
      $( ".opener" ).click(function() {
    $(this).next('.toggle').slideToggle();
  });
}
}).resize();

不建议在调整大小函数中插入单击函数,因为每次调整大小时都会向标记添加单击函数。如果您在单击行之前将取消绑定添加到"打开器",它应该可以工作。

$(window).resize(function() {
   if ($(window).width() > 767) {
   $(".toggle" ).show();
}
else {
   $(".toggle" ).hide();
   $( ".opener" ).unbind("click");  
   $( ".opener" ).click(function() {
     $(this).next('.toggle').slideToggle();
   });
}
}).resize();