2014-01-15 118 views
0

所以这里的破败:Modernizr.mq事件触发多次

  • 我有一个扩展菜单当分辨率> 1024
  • 当分辨率为< 1024菜单变成下拉NAV

我用Modernizr.mq触发的下拉菜单中的JavaScript当分辨率变得小于1024

当你REFR弹出页面并且不调整浏览器的菜单正常工作。但是,只要您重新调整浏览器大小并再次尝试菜单,它就会错误地被触发多次。

这里是在全页视图的例子:

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

这里是用代码的例子:

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

任何想法,为什么点击功能去所有疯狂的时候了浏览器是否调整大小?任何方式,这可以解决?

感谢, 马里奥

回答

0

您加入click事件多次 - 每smartresize因为调用checkMq的()

只是把事件处理程序块($('.btn-menu').on('click', function(){ ... });)从checkMq()功能

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


btw:您必须等待文档准备就绪。 (http://api.jquery.com/ready/) 但我猜codepen已经处理。