ios6触摸事件处理javascript

时间:2012-10-03 03:26:04

标签: javascript jquery ios6 bxslider

我正在努力改进touchwipe js。我想要只进行水平滚动,如果它的任何垂直滚动出现,让浏览器处理我的修复工作正常ios5但在ios6它的frezee任何想法吗?

http://archive.plugins.jquery.com/project/Touchwipe-iPhone-iPad-wipe-gesture

请在

后面找到代码
function onTouchMove(e) {   

         //var e = (e.changedTouches != undefined)? touches[0] : e; 
         if(isMoving) {              
             var x = e.touches[0].pageX;
             var dx = startX - x;
             if(Math.abs(dx) >= config.min_move_x)
             {
                 if(config.preventDefaultEvents) { 
                     e.preventDefault();                 
                 }
                cancelTouch();
                if(dx > 0) {
                    config.wipeLeft();
                }
                else {
                    config.wipeRight();
                }
                return false;
            }
             else {
                   console.log('y moving.. ');
                   // attachTouch();
                    return true;
             }
         }

     }

只需添加更多细节。 我试图通过BXslider水平设置我的列表水平,其工作正常,希望支持触摸事件,因此添加了触摸擦除jquery。但添加它给出1个问题,即水平滚动动画工作正常,但触摸页面垂直滚动不起作用。

所以我试图通过return true修复问题;如果它只有Y移动,在touchwipe js。这个修复工作在android4和ios5上工作正常,但在ios6中失败,如果我垂直滚动我的页面积极地(移动手指在椭圆形/圆形4-5秒)其freez bxslider动画。

进一步调试内部bxslider.gotoNextSlide() - >调用Jquery $ parent.animate()方法进行滑动,在积极滚动后停止在ios6中工作。

现在我陷入困境,无法理解为什么这个animate()会停止工作?

EG>>>

http://jsfiddle.net/qtCHx/

1 个答案:

答案 0 :(得分:2)

这可能是由于这个错误: http://bugs.jquery.com/ticket/12620

这里的临时解决方案: https://gist.github.com/3798925