Как заменить jquery код на javascript?
$(document).on('click', 'a', function (event) {
event.preventDefault();
});
Суть в том, что нужно повесить событие на все ссылки, не используя jQuery. Ссылки могут появляться новые после ajax. Они тоже должны обрабатывать событие.
Я пробовал:
document.addEventListener('click', function (event) {
var link = event.target.closest('a');
if (!link) return;
event.preventDefault();
}, false);
Но closest плохо поддерживается браузерами без полифилов =( Так же пробовал через event.path найти дочерний элемент A, но e.path не работает в сафари...
Может подскажете какой то способо реализовать эту идею именно через document.addEventListener, без доп функций и тд.
(closest и event.path нужны были для того, чтобы избежать нерабочих картинок в ссылка и тд, так как event.target будет img, а не A)
document.addEventListener('click',function(e){
let current = e.target;
while(current != document.body){
if(current.tagName == 'A'){
e.preventDefault();
break;
}
else current = current.parentNode;
}
});
Добавляешь каждой ссылке class="needToClick"
После чего
var arr = [];
arr = document.getElementsbyclassname('needToClick');
Затем через forEach() просто навешиваешь события которые тебе необходимы.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
После всех элементов в html файле располагаю скриптВ объекте page есть объект obj со значением $("
Возник вопрос в коде, а именно не инкрементируется значение this_i