2014-10-19 100 views
0

我正在使用SlickNav jQuery plugin,但似乎自動關閉模糊或失去焦點菜單默認情況下未設置,並且沒有設置。Slicknav:外部點擊時如何關閉菜單

我認爲這只是一個簡單的調用是這樣的:

<script> 
    $(document).ready(function() { 
    //close menu on lost focus 
    $('.js .slicknav_menu').focusout(function(event){ 
    $(this).slicknav('close'); 
    }); 
    }); 
</script> 

但是,這並不做任何事情。點擊菜單外部時如何關閉菜單?

+0

請您分享一下您的完整代碼嗎? – Ashish 2014-10-19 22:18:26

+0

我不知道你需要什麼其他的代碼,但是如果你不熟悉它的話,我會給這個插件添加一個鏈接。 – zoltar 2014-10-19 22:30:06

+0

此解決方案適用於我:http://stackoverflow.com/questions/29658550/make-slicknav-menu-close-when-outside-click-on-ios-devices/29677052#29677052 – 2015-04-18 07:10:34

回答

0

我提到了你在你的問題中提到的網站。嘗試了網站中給出的第一個例子。 (HTML哪個代碼下文給出)

HTML -

<ul id="menu"> 
    <li><a class="scroll" href="#features">Features</a></li> 
    <li><a class="scroll" href="#usage">Usage Instructions</a></li> 
    <li><a class="scroll" href="#examples">Examples</a></li> 
    <li><a href="http://github.com">View on Github</a></li> 
</ul> 

我看到菜單並沒有對失去焦點事件關閉默認情況下。 下面的代碼工作實現相同。

$(document).ready(function() { 
    //close menu on lost focus 
    $('.slicknav_menu').focusout(function(event){ 
     $('#menu').slicknav('close'); //Here 'menu' is the id of ul. 
    }); 
    }); 
+0

這通常是我以前並且它仍然不起作用。這是我現在的,源文件位置檢查罰款: http://codepen.io/anon/pen/wukdv – zoltar 2014-10-20 05:28:04

0

我用過這樣的東西。
這也適用於手機。

$(window).on("touchstart", function(e) { 
    var container = $("#menu"); 
if (!container.is(e.target) // if the target of the click isn't the container... 
    && container.has(e.target).length === 0) // ... nor a descendant of the container 
{ 
    $('#menu').slicknav('close'); 
} 
});