aaadddminnn
@aaadddminnn
php it ubuntu debian

Почему не делегируется функция?

зарание спасибо всем за помощь
window.onload = function () {
    var link = document.getElementById('historyAPI');
    link.addEventListener("click",
            function (e) {
                e.preventDefault();
                getContent(link, true);
            }, true
            );
};

Опишу задачу.
Есть код на jquery (он работает на ура)
pastebin.com/4bekrGeb
Вот этот же код пытаюсь переписать на "чистый" js
pastebin.com/BpRXBs14

Проблема в том что после первой подгрузки контенета (в нём есть тоже ссылки которые надо обработать)
пр нажатии на ссылку не вызывается обработчик, а тупо переходид дальше как по обычной ссылке.
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
mlnkv
@mlnkv
JavaScript Developer
самая главная ошибка в том, что historyAPI это класс элемента, а вы ищете элемент с таким id (getElementById)
window.addEventListener("DOMContentLoaded", function() {
	document.addEventListener("click", function(event) {
		var link = document.querySelector(".historyAPI");
		if (event.target !== link) return;
		event.preventDefault();
    getContent(link, true);		
	})
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы