iPad/iPhone双击问题

Jak*_*ake 3 html iphone mobile jquery ipad

我遇到与iPad/iPhone悬停问题非常类似的问题导致用户双击链接,用户点击链接必须点击两次以实际转到它.

我在那个问题中实现了解决方案,但我现在遇到了一个新问题.当用户点击链接时会发生重定向,但无论如何都会发生.因此,即使用户试图滚动页面,并且他们在链接上开始滚动,页面也会在他们放开滚动时重定向.

有没有办法保持链接,以便他们只需要一次点击,但如果他们滚动,不要重定向页面?

Jak*_*ake 7

这是我最终做的事情:

问题是touchstart和touchend只知道触摸事件,而不是滚动事件,所以他们只对开始触摸和结束触摸作出反应.我们要做的是区分滚动和不滚动.这是我做的:

$('a')
    .live('touchstart', function(){
        isScrolling = false;
    })
    .live('touchmove', function(e){
        isScrolling = true;
    })
    .live('touchend', function(e){
        if( !isScrolling )
        {
            window.location = $(this).attr('href');
        }
    });
Run Code Online (Sandbox Code Playgroud)

这按顺序完成这些事情:

  1. 首次录制触摸时,将isScrolling设置为false.
  2. 移动触摸时,将isScrolling设置为true.如果触摸不移动,则不会发生这种情况.
  3. 当触摸停止时,如果没有发生滚动,则将页面重定向到链接的href.

编辑:在此之后的一段时间,我发现问题是由SuperFish造成的.当页面在一定宽度下时禁用superfish解决了问题.