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

Lea*_*yes 2 iphone jquery html5 canvas

每当触摸(并保持)画布时,它都会以较暗的颜色突出显示.触摸释放后,恢复正常.它不像文本选择,它与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浏览器中,但是在主屏幕应用程序上,它无论触摸的是哪个画布都可以.

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

Lea*_*yes 6

我最终发现问题可以通过以下CSS解决:

.puzzle canvas {
    -webkit-tap-highlight-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)