相关疑难解决方法(0)

e.touches,e.targetTouches和e.changedTouches的变化

让我们说我正在倾听touchstart,touchmovetouchendbody元素上.

如果我错了,请告诉我,但我认为e.touches是一样的e.targetTouches?如果是这样,e.changedTouches与它们有何不同?

我的意思是,只要在一个特定时刻触摸一下,我就会取出touchevent并解析它.根据我的经验,所有三个触摸变量都是相同的.

我必须将解析后的数据发送到服务器,发送三次完全相同的字符串是非常多余的,是不是有任何方式发送它们一次并以编程方式重现服务器上的touchevent?

javascript webkit touch

55
推荐指数
1
解决办法
2万
查看次数

鼠标在画布上单击(或触摸)事件会导致使用HTML5,Phonegap和Android进行选择

我正在使用easlejs + phonegap处理HTML5游戏,并且遇到了每次在画布上单击/触摸/ mousedown时屏幕闪烁的问题.

下面是我为测试问题而创建的非常简单的代码,看它是否与easlejs相关.从代码中可以看出,它与easlejs无关,只是一个html5/phonegap问题.

你可以看到我也尝试了没有选择的CSS样式,没有运气.

在画布上按住鼠标(第1张图像)然后释放它(第2张图像)时显示橙色边框的屏幕截图

<!doctype html>
<html>
<head>
    <title></title>
    <style type="text/css">
        #canvas
        {
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
        }
    </style>
</head>
<body>
    <canvas  id="canvas" width="320" height="480"></canvas>
    <script type="text/javascript">
        var canvas = document.getElementById("canvas");

        canvas.addEventListener("mousedown", function(e)
        {
            var ctx = canvas.getContext("2d");
            var x = Math.random() * 320;
            var y = Math.random() * 480;
            var w = Math.random() * 100;
            var h = Math.random() * 100;

            ctx.fillStyle = "#FF0000";

            ctx.fillRect(x,y,w,h);
        }, false);
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html5 android easeljs cordova

13
推荐指数
1
解决办法
1万
查看次数

iPhone上的HTML5 Canvas在touchstart/mousedown事件中突出显示

每当触摸(并保持)画布时,它都会以较暗的颜色突出显示.触摸释放后,恢复正常.它不像文本选择,它与iPhone在超链接上使用的亮点相同.

我使用jQuery来绑定事件:

$('canvas').bind('mousedown touchstart', function(e) {
    var c = $(this), offset = c.offset();
    var touch = {
        x: (e.targetTouches ? e.targetTouches[0].pageX : e.pageX) - offset.left,
        y: (e.targetTouches ? e.targetTouches[0].pageY : e.pageY) - offset.top
    };

    testApp.lastTouch = touch;

    return false;
});
Run Code Online (Sandbox Code Playgroud)

当应用程序保存到"主屏幕"时,问题会更严重.当触摸画布的边缘时,它确实发生在Web浏览器中,但是在主屏幕应用程序上,它无论触摸的是哪个画布都可以.

可能是这个问题的原因是什么?

iphone jquery html5 canvas

2
推荐指数
1
解决办法
3093
查看次数

标签 统计

html5 ×2

android ×1

canvas ×1

cordova ×1

easeljs ×1

iphone ×1

javascript ×1

jquery ×1

touch ×1

webkit ×1