TouchEnd结束后启动活动

时间:2017-09-19 16:58:59

标签: 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();
  })
});

1 个答案:

答案 0 :(得分:1)

尝试使用jQueryMobile tap handler。它只会在完成的触摸事件(即“touchend”)之后触发。你可以更加严格,并使用taphold handler,这实际上是一个长期的接触。