javascript - TouchEnd 结束后开始事件

标签 javascript jquery events

基本上我有这个移动菜单Link (请调整窗口大小以查看移动菜单)。问题在于,在移动设备上,用户通常会向下滑动来查看内容。手机上的主菜单。松开手指而不是第一次触摸时,有什么方法可以激活菜单的“点击”?问题是,如果您正在滚动并碰巧点击“菜单”,它会打开菜单而不是滚动。页面上的所有其他链接都很好 - 它们只会在您松开手指(而不是第一次触摸)时“点击”。因此,如果用户不小心触摸到“菜单”按钮,则会打开菜单。我只想在用户触摸并释放菜单按钮后显示菜单。为此,我使用了这段代码 -

jQuery(document).ready(function(){
  if (window.Touch) {
    jQuery('#sidr').bind('touchstart', function(e) {
      e.preventDefault();
    });
    jQuery('#sidr').bind('touchend', function(e) {
      jQuery(this).trigger('click');
    });
  }
});

但是它不起作用,有什么建议吗?

我刚刚注意到 preventDefault 不起作用

jQuery(document).ready(function(){
jQuery('#sidr').click(function(e){
    e.preventDefault();
  })
});

最佳答案

尝试使用 jQueryMobile tap handler .它只会在完成触摸事件后触发(即在“touchend”上)。您可以更加严格并使用 taphold handler ,这本质上是一个长触摸。

关于javascript - TouchEnd 结束后开始事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46306001/

相关文章:

javascript - 没有得到使用 jquery 将 li 元素添加到 ul 的正确方法

javascript - nodejs : event. 是异步的吗?

javascript - Ruby on Rails 6 自定义 JavaScript 文件未捕获 ReferenceError : Rellax is not defined

javascript - 使用 JSON 动态添加表行

javascript - 如何使用 jQuery 遍历网格询问复选框是否已选中?

javascript - 从 onclick/onchange 事件中获取 HTML Checkbox 的值

javascript - 通过ajax存储数据然后访问该URL

javascript - 任何人都可以在云中成功部署 GAE Spring BOOT 应用程序吗

javascript - Microsoft Edge Websockets : "SCRIPT12030" error after 30secs

javascript - 一个数组/对象的强类型多个变量