Я искал простой скрипт событий без использования jQuery и нашел полезный код. С этим я создал свой собственный вариант этого кода, который работает, но есть одна вещь, которую я не получаюJavaScript array.forEach
[].forEach.call(document.querySelectorAll("a"), function (el) {
el.addEventListener("click", function (ev) {
ev.preventDefault();
this.style.backgroundColor = "grey";
})
});
Этот код захватывает все <a>
-элементов на веб-странице и добавляет событие клика, которая меняет фон цвет до серого.
Однако, я не понимаю, почему forEach.call()
выполняется, а массив []
пуст.
Не могли бы вы объяснить, как это работает?
всего пару заметок о производительности ... querySelectorAll() возвращает список узлов живой, поэтому он вновь запускает запрос каждый раз, когда вы получите доступ к нему. лучше преобразовать его в массив сначала, прежде чем использовать forEach. Кроме того, если вы хотите создавать ссылки на клик, вы всегда можете просто использовать: active в CSS. –
Стилирование ссылок было выполнено, чтобы я мог запускать его в веб-консоли на любой странице. – Broxzier
@Broxzier Fair достаточно :) –