【问题标题】:onTouchEnd not working for Android Froyo 2.2?onTouchEnd 不适用于 Android Froyo 2.2?
【发布时间】:2010-12-17 22:02:49
【问题描述】:

以下 html 在 Android 2.2 的默认浏览器中打开时会正确注册 touchstart 和 touchmove 事件,但不会正确注册 touchend 事件。知道为什么吗?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
</head>
<body>
<div id="a" onTouchStart="touchstartFunction(event);"
            onTouchMove="touchmoveFunction(event);"
            onTouchEnd="touchendFunction(event);"
            style="width:300px ; height:300px;background:red;"></div>
<script>
    function touchstartFunction(event){
        event.preventDefault();
        var touch = event.touches[0];
        document.getElementById('touchMoveTextbox').value = "Touch start at " + touch.pageX + "x" + touch.pageY;
    }
    function touchmoveFunction(event){
        event.preventDefault();
        var touch = event.touches[0];
        document.getElementById('touchMoveTextbox').value = "Touch move at " + touch.pageX + "x" + touch.pageY;
    }
    function touchendFunction(event){
        event.preventDefault();
        var touch = event.touches[0];
        document.getElementById('touchMoveTextbox').value = "Touch end at " + touch.pageX + "x" + touch.pageY;
    }
</script>
<input type='textbox' size="30" id='touchMoveTextbox' >
</body>
</html>

【问题讨论】:

    标签: javascript android


    【解决方案1】:

    相信您可能会遇到这种情况: touchend event doesn't work on Android

    因为您访问 touches[0] 在最后一种情况下为空并导致 javascript 错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多