为何不能绘制直线?

为何没有直线出现?

<canvas id="myCanvas" width="400" height="200">
canvas {
    border: 1px dashed black;
}

    window.onload = function() {
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
        context.lineWidth = 10;
        context.moveTo(0, 50);
        context.lineTo(400, 150);
        context.stroke();
    }
    
    

分别用chrome firefox 打开jsfiddle,没有直线出现?
图片描述

阅读 2.3k
2 个回答

看截图的样式,我觉得题主用的是jsfiddle,我在runjs上都正常运行,试了一下jsfiddle,发现不行的原因了。

clipboard.png

看起来jsfiddle是把用户定义的js包裹在window.onload里 如截图所示,也就是页面加载完成调用的是外层的onload,内层对onload重新赋值已于事无补。

把window.onload去掉,jsfiddle预览就正常了……

chrome和ieedge测过了,都可以出现直线。
你代码没问题
你再看看其他原因

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题