Я пишу веб-сайт с холстом. На веб-сайте есть script, который успешно запускается при каждом обновлении, за исключением строки в конце. Когда script заканчивается:
document.body.onresize = function() {viewport.resizeCanvas()}
"document.body.onresize" не изменяется. (Я дважды проверял в консоли Chrome javascript: Ввод "document.body.onresize" возвращает "undefined".)
Однако, когда script заканчивается:
document.body.onresize = function() {viewport.resizeCanvas()}
console.log(document.body.onresize)
"document.body.onresize" делает изменение. Функция работает точно так, как должна.
Я не могу объяснить, почему эти два функционально идентичных фрагмента кода имеют разные результаты. Может ли кто-нибудь помочь?
Изменить. Насколько я могу судить, "document.body" ссылается на правильный "document.body". Когда я вызываю console.log(document.body)
непосредственно перед назначением document.body.onresize
, печатается правильный HTML.
Изменить 2: Решение (вроде)
Когда я заменил "окно" для "документа", функция viewize "resizeCanvas" вызывалась без сбоев каждый раз при изменении размера окна.
Почему "окно" работает, когда "документ" работает, только если вы сначала вызываете "console.log"? Не подсказка.