javascript - 在任何地方触摸隐藏移动浏览器上的模态/工具提示/灯箱

标签 javascript jquery css mobile mobile-safari

我正在构建一个专门用于触摸设备的页面。 页面本身有菜单项,当您触摸菜单时,会显示一个 DIV。 但是,我喜欢在用户点击 DIV 之外的任何区域时隐藏 DIV。

我知道在桌面上,你可以在菜单上有悬停效果,并显示一个 DIV,这模仿了我想要在移动设备上触摸任何地方的效果,菜单隐藏。

但是我怎样才能专门使用触摸手势而不是悬停来存档呢?

到目前为止,这是一个示例代码: http://jsfiddle.net/calebo/E5vvm/

最佳答案

一种方法是绑定(bind) body 的“点击”事件,一旦点击,隐藏“星形”div 并解除绑定(bind) body 的“点击”事件,它很脏,但它正在工作.. .

$(document).ready(function() {
  $('.widget-stars').bind('click', function() {
    event.preventDefault();
    $('#star').fadeIn(function() {
      $( "#star" ).parents( "body" ).bind( "click", function() {
        $( "#star" ).fadeOut();
        $( this ).unbind( "click" );
      });
    });
  });
});

关于javascript - 在任何地方触摸隐藏移动浏览器上的模态/工具提示/灯箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395906/

相关文章:

javascript - 在添加它们的值后找到那些等于 x 的元素的索引

jquery val() 不显示跨度的值

css - 如何使用 sass 正确避免在 HTML 上嵌入 twitter bootstrap 类名

javascript - 使用 <audio> 标签和 Javascript 在音频播放期间更改 anchor 文本/图标

javascript - 为什么我的函数不将 json 文件转换为数组 json

javascript - 模板的动画下拉菜单

jquery - 衡量 jQuery 插件要求

html - 如何在菜单上进行边框悬停

html - 修复基于 960 网格主题的标题

javascript - HTML anchor 链接 - href 和 onclick 两者?