Javascript 触摸事件在IOS7 Iphone中不起作用

Javascript 触摸事件在IOS7 Iphone中不起作用,javascript,iphone,html,ios7,mobile-browser,Javascript,Iphone,Html,Ios7,Mobile Browser,我为html5游戏工作,在chrome、firefox、safari、iPadIO6、android中一切都很好,但在IOS7和Iphone4中却不太好。触摸事件无法正常工作。即使是简单的“e.preventdefault”也不能处理双击问题,它会保持放大和缩小。不像其他设备。 有人有同样的问题吗 这是我代码的一部分。。对不起,我不能写太多。。我有一些保密协议 var ua = navigator.userAgent.toLowerCase(); var checks = Boolean(ua.

我为html5游戏工作,在chrome、firefox、safari、iPadIO6、android中一切都很好,但在IOS7和Iphone4中却不太好。触摸事件无法正常工作。即使是简单的“e.preventdefault”也不能处理双击问题,它会保持放大和缩小。不像其他设备。 有人有同样的问题吗

这是我代码的一部分。。对不起,我不能写太多。。我有一些保密协议

var ua = navigator.userAgent.toLowerCase();
var checks = Boolean(ua.match(/android/))||
             Boolean(ua.match(/ipod/))||
             Boolean(ua.match(/ipad/))||
             Boolean(ua.match(/tablet/))||
             Boolean(ua.match(/tablet pc/))

var touchable = checks && (typeof (document.ontouchstart) != 'undefined');
if(touchable){
    canvas.addEventListener('touchstart',mouseDown,false);  
    canvas.addEventListener('touchmove',mouseMove,false);   
    document.addEventListener('touchend',mouseUp,false);    
}else{
    canvas.addEventListener('mousedown',mouseDown,false);   
    canvas.addEventListener('mousemove',mouseMove,false);   
    document.addEventListener('mouseup',mouseUp,false); 
}

function getMousePos(evt)
{
    if(touchable && evt.touches.length>1)return;
    if(touchable)evt = evt.changedTouches[0];

    var rect = canvas.getBoundingClientRect();
    return {
        x: (evt.clientX - rect.left) / game.scale.x,
        y: (evt.clientY - rect.top) / game.scale.y
    };
}

function mouseDown(e)
{
var mousePos = getMousePos(e);
alert(mousePos.x + "," + mousePos.y);
e.preventDefault();
}

在运行iOS7的iPhone4上测试phonegap应用程序时,我确实遇到了这个问题。我用fastclick.js删除了300毫秒的延迟,将所有转换设置为0,删除了悬停延迟,滚动时仍然有明显的延迟。不幸的是,这个问题似乎与试图运行iOS7的iPhone4硬件直接相关。从技术上讲,虽然iOS7在iPhone4上可用,但iOS7的设计并没有考虑到iPhone4