Modernizr.mq事件多次触发

时间:2014-01-15 16:44:27

标签: javascript jquery html ios css

所以这就是破败:

  • 我有一个菜单,当分辨率为>时会展开1024
  • 当分辨率<&lt; 1024菜单变为下拉导航

当分辨率小于1024时,我使用Modernizr.mq触发下拉菜单的javascript。

当您刷新页面而不调整浏览器大小时,菜单工作正常。但是,只要您调整浏览器大小并再次尝试菜单,它就会发出错误并多次触发。

以下是完整页面视图中的示例:

http://codepen.io/MarioD/full/aKdhG

以下是代码示例:

http://codepen.io/MarioD/pen/aKdhG

在调整浏览器大小时,为什么点击功能会变得疯狂?这有什么办法可以解决吗?

谢谢, 马里奥

1 个答案:

答案 0 :(得分:0)

您多次添加点击事件 - 因为调用checkMq()

而每次都会智能化

将事件处理程序块($('.btn-menu').on('click', function(){ ... });)从checkMq()函数

中删除

或者你可以使用jQuery.one代替jQuery.onhttp://api.jquery.com/one/


不过:你必须等待文件准备好了。 (http://api.jquery.com/ready/) 但我想codepen已经处理过了。