2014-01-15 152 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已經處理。