javascript - 当外部点击 IOS 设备时,使 Slicknav 菜单关闭

标签 javascript jquery mobile menu focusout

我正在使用 Slicknav 移动菜单脚本:http://slicknav.com/

它工作得很好,除了我不知道如何在 ios 设备上单击菜单外部时关闭它。当我在桌面和 Android 上测试它时,单击外部时它可以正常关闭,但在我的 iPad 上它不起作用。这是当前的代码。有什么见解吗?谢谢!

<script src="slicknav.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.menu').slicknav({
label:'',
closeOnClick:true
});
$('.slicknav_menu').focusout(function(event){
$('.menu').slicknav('close');
});
});
</script>


<nav>
<ul class="menu">
<li><a href="">Home</a></li>
<li><a href="">Link1</a></li>
<li><a href="">Link2</a></li>
</ul>
</nav>

最佳答案

在我的网站上,右侧菜单使用 slicknav。由于这段代码,当我在 iOS 上单击外部时,它可以正常关闭。演示:http://www.crealisationweb.fr

替换这个:

$('.slicknav_menu').focusout(function(event){
    $('.menu').slicknav('close');
});

有了这个:

$("div, html").on("click", function (event) { 
    if(!$(event.target).hasClass(".menu a") && 
    !$(event.target).hasClass("ul.slicknav_nav li a") && 
    !$(event.target).hasClass("slicknav_menutxt") && 
    !$(event.target).hasClass("slicknav_icon") && 
    !$(event.target).hasClass("slicknav_icon-bar") &&
    !$(event.target).hasClass("slicknav_btn")) {   
        $(".menu").slicknav('close'); 
    }
});

关于javascript - 当外部点击 IOS 设备时,使 Slicknav 菜单关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658550/

相关文章:

javascript - 使用嵌套 for 循环创建 HTML 表格

javascript - 如何编辑文本文件中的数据?

javascript - 在解析为 JSON 之前执行 JS 配置(对象)

javascript - knockout : Unable to process binding

javascript - 如何阻止 Node js服务器崩溃

jQuery/ColdFusion Ajax 创建 session 变量

javascript - 单击带有文本的 anchor 标记

javascript - 无法在手机上的谷歌翻译插件上选择语言

android - 我可以使用 Xamarin 或任何其他替代框架在 Android 上运行自托管(基于 Owin)的 Web Api

android - 表格不适合移动设备上的父容器大小