Id и addEventListener

214
21 января 2018, 05:38

Решил на своей тренировочной страничке удалить обработчики через HTML-атрибут и назначить через addEventListener().

Для этого я удалит onClick-атрибут, назначил id="*upButton*", объявил объект:
let **upButton** = document.getElementById("*upButton*");

Назначил обработчик: upButton.addEventListener("click", up);

И вот тут у меня возникло сомнение, а к чему я применяю обработчик? К созданному мной объекту **upButton** или сразу получаю элемент по id *upButton* ?

Для ясности, я конечно дал разные имена своему объекту и id, но вопрос остался.
Как проверить через консоль, что-то не соображу?

Объясните пожалуйста, этот тонкий момент.

Answer 1

Вы не "создаете" (новый) объект. Kод document.getElementById ищет HTML-элемент в дереве страницы и, если находит, возвращает на него ссылку. А если не находит, возвращает null. Ваша переменная up указывает/ссылается на уже существующий объект. Ваш код

let upButton = document.getElementById("upButton");
upButton.addEventListener("click", up);

эквивалентен

document.getElementById("upButton").addEventListener("click", up);
READ ALSO
Особенности работы с Vue.js

Особенности работы с Vue.js

При назначении элемента часто происходят непредвиденные ситуацииНапример если в контейнере с id='app' разместить canvas, то при назначении переменной...

282
кроссбраузерность для ios

кроссбраузерность для ios

Есть ли бесплатные инструменты что-бы посмотреть как выглядит сайт на ios устройствах ?

173
Проблемы с jqGrid в ASP.NET MVC

Проблемы с jqGrid в ASP.NET MVC

Скачал пакет 46 версии и подключил скрипты:

193
команда namespace PHP

команда namespace PHP

Установлен PHP 70

218