2016-10-22 3 views
0

Я пытаюсь следовать вместе с рисования холст учебник по perfection kills и у меня есть следующий код:Почему я не могу установить context.fillStyle сразу после создания своего холста?

let c = document.createElement('canvas') 
document.body.appendChild(c) 
let ctx = c.getContext("2d") 

...(set canvas size) 

ctx.fillStyle = 'red'; 
console.log(ctx) 

И консоль показывает, что FillStyle все еще установлен на # 000000 в светлячок и электронной оболочки. Google Chrome работает полностью, как я ожидал.

Если я установил fillStyle позже в обработчике события mousemove, который используется для рисования или установки значения в консоли инспектора, он работает так, как ожидалось.

Если это имеет значение, вышеуказанный код является вершиной в верхней части моей функции, связанной с событием DOMContentLoaded.

+0

Когда вы выводите объект на консоль, он может меняться. Чтобы гарантировать, что fillStyle действительно «# 000000» в момент вызова console.log, используйте console.log (ctx.fillStyle); так как это отобразит строку, которая является примитивным типом и не изменится. – Blindman67

ответ

0

Таким образом, проблема заключается в том, что контекст очищается/сбрасывается при изменении размера холста.