看这里的代码演示:http://jsfiddle.net/mYdm9/4/
在我的电脑上,执行
ctx.lineWidth=20;
ctx.setLineDash([20,30]);
ctx.lineDashOffset=10;
ctx.beginPath();
ctx.moveTo(150,150);
ctx.lineTo(240,240);
ctx.lineTo(180,40);
ctx.stroke();
ctx.closePath()
提供第一组带有所需破折号/偏移量的行
现在使用
ctx.setLineDash([0,0]);
ctx.lineDashOffset=0
在下一批命令中:
ctx.beginPath();
//resets line dash... except on iOS Safari it seems...
ctx.setLineDash([0,0]);
ctx.lineDashOffset=0;
ctx.moveTo(0,300);
ctx.lineTo(0,250);
ctx.lineTo(100,400);
ctx.lineTo(200,300);
ctx.stroke();
ctx.closePath()
在第一组线条后,似乎重置了任何虚线属性。重新获得实线。
在运行Safari的iPad2上...它似乎完全被忽略了,线条仍然是虚线的。为什么会这样?还有,是否有其他方法可以正确地重置线条虚线...?(最好能够跨浏览器/操作系统工作)
谢谢