javascript - Jquery .focusout 不适用于移动设备(slicknav)

标签 javascript android jquery ios mobile

仅当您再次单击菜单按钮时,Slicknav 才会关闭。

所以我做了这段代码,让它在您单击任何地方时关闭

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

当我将窗口缩小以进行测试时,这在桌面上有效,但在手机上,我必须触摸图像才能将其关闭,而不是如果我只是单击任意位置,就像它只在您触摸某个元素时才会注册单击。

我可以使用其他东西来代替 focusout 吗?

最佳答案

我会在主体上使用普通的点击事件,并检查用户点击的内容是否在 slicknav_menu 内。

$('body').click(function(event) { 
    if(!$(event.target).closest('.slicknav_menu').length) {
       $('.menu').slicknav('close');
    }        
});

关于javascript - Jquery .focusout 不适用于移动设备(slicknav),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260971/

相关文章:

javascript - IE9的跨域谷歌文档请求

javascript - 如何通过javascript更改css样式

javascript - javascript/jquery 的语法问题

安卓编译错误

Android studio .gradle呈红色,如何修复?

android - 将库项目作为依赖项添加到另一个库项目

javascript - IE8 jQuery 函数出现错误 "Expected identifier, string or number"

javascript - 在Google Apps脚本中获取直线旋转 Angular

jquery - 如何删除使用 jQuery 角插件创建的圆角?

javascript - JSP 在 SPRING MVC Web 应用程序中呈现客户端还是服务器端?