2014-12-03 63 views
0

請參閱http://beta.jigsaw.org/的菜單。我無法找到一種方法,讓它在iPhone上的菜單之外輕敲時自動關閉。強制導航菜單在iPhone上的菜單外部輕擊時縮回

在桌面上這可以用什麼來解決這樣的:

var clicked_menu = false; 

$(".navbar-collapse").click(function() { 
    clicked_menu = true; 
}); 

$("body").click(function() { 
    if(!clicked_menu) $(".navbar-collapse").collapse('hide'); 
    clicked_menu = false; 
}); 

我已經使用jQuery挖掘(http://api.jquerymobile.com/tap/)嘗試過,但沒能得到它在相同的方式工作。

回答

1

因爲我假設你要隱藏的菜單,當一個項目被點擊,我會做的

$(document).on("touchstart click", function() { 
    if ($(window).width() <= 767) 
     $(".navbar-collapse").collapse('hide'); 
}); 

一樣簡單的東西,如果是事先顯示菜單,你可能還需要檢查。

+0

此代碼有問題,但使用touchstart是關鍵。 – 2014-12-03 15:01:09

+0

嗨史蒂夫,謹慎地闡述你發現的錯誤是什麼? – Last1Here 2014-12-03 15:04:45

+0

菜單有時會打開和收回。我無法點擊鏈接,菜單會關閉,鏈接不會被點擊。 – 2014-12-03 20:11:25

0

感謝來自Last1here的一些指導,我已經想出了一個解決方案。

$("body > div:not(.navbar-wrapper)").on("touchstart", function() { 
    $(".navbar-collapse").collapse('hide'); 
});