xui轻扫手势无法在真实设备上运行

时间:2012-09-11 14:34:17

标签: javascript cordova xui

我正在使用xui-swipe.js来检测Phonegap应用程序上的左右手势滑动。

它在Android模拟器和iPhone模拟器上都运行良好。但是,当我将此应用程序安装到真实设备(三星Glaxy S3)时,轻扫手势只检测一次事件,之后没有检测到任何事件;无论是左还是右。

以下是用于检测手势的代码块(请注意,xui.jsxui-swipe.js都包含在内):

<script type="application/javascript">
    function init ()
    {
        x$("#wrapper").swipe(function(e, data){
            var offset = parseInt(sessionStorage.getItem('offset'));
            switch(data.direction) {
                case 'right':
                    if (offset>0) {
                        sessionStorage.setItem('offset', offset-1);
                        document.location = "file.html";
                    }
                    //alert('right');
                    break;

                case 'left':
                    if (offset<10) {
                        sessionStorage.setItem('offset', offset+1);
                        document.location = "file.html";
                    }else {
                        document.location = "file-end.html";
                    }
                    //alert('left');
                    break;
            }
        }, {
            swipeCapture: true,
            longTapCapture: true,
            doubleTapCapture: true,
            simpleTapCapture: false
        });
    }

    var _timer=setInterval(function(){
        if(/loaded|complete/.test(document.readyState)){
            clearInterval(_timer)
            init() // call target function
        }
    }, 10);
</script>

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我认为你的案例陈述是错误的:

switch (data.type){
    case ('direction'):
      if (data.direction == 'left') {
        i--;
      } else {
        i++;
     }

首先需要检查案例'方向',然后检查它是左还是右。