Tim*_*nen 3 javascript iphone canvas ipad fabricjs
当我使用Fabric.js生成画布时,在iPad(迷你)和iPhone(4)中用手指敲击时会出现恼人的闪烁.闪烁就像帆布快速变黑而再变白.
重现步骤:
用iPad或iPhone浏览例如.此线条绘制实用程序:http:
//jsfiddle.net/fabricjs/URWru/
(function dummy{})
将手指放在画布上然后将其抬起.这样做很快,就像用鼠标点击一样.手指向上时会发生闪烁.如果您将手指放在画布上一秒钟或更长时间然后向后抬起,则不会发生闪烁.
为什么闪烁发生以及可以采取哪些措施来防止它?
这是Q&A风格的答案.
解决方案很简单.将此添加到css:
canvas {
-webkit-tap-highlight-color:rgba(0,0,0,0);
}
Run Code Online (Sandbox Code Playgroud)
Ryan Grove在yuiblog.com中描述了原因:
"不幸的是,Mobile Safari没有办法区分普通点击订阅者和委派点击订阅者,这是将click事件附加到容器而不是该容器的每个子容器的时候.因此,委派的点击将导致整个容器被突出显示而不仅仅是被点击的项目,这对用户来说既丑陋又令人困惑."
据报道,这个技巧至少起作用:基于Android的浏览器,iPhone Safari,iPad Safari,iPad Chrome.