Задать вопрос
Snatch08
@Snatch08

Почему не работает e.preventDefault();?

Всем доброго дня! Подскажите пожалуйста, почему не работает e.preventDefault(); ?

<div class="Nouxouxv"><a href="https://qna.habr.com/tags/firsttime">QNA HABR</a></div>


document.body.addEventListener('click', function(e){

	let Neoue = e.target.parentElement;

	if(Neoue.classList.contains('Nouxouxv')){

		e.preventDefault();

		window.open(e.target.href, '_blank');
	}

}, true);
  • Вопрос задан
  • 375 просмотров
Подписаться 1 Простой 10 комментариев
Решения вопроса 1
Snatch08
@Snatch08 Автор вопроса
с кодом все ок, проблема была с навешанной на адишник функцией, которая в этом коде не указанна
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Shev_Art_V
@Shev_Art_V
Занимаюсь разработкой сайтов на Modx Revolution
Вы повесили обработчик на тэг body, почему же вы считаете что кликаете именно по ссылке, а не по соседнему или родительскому элементу? Вполне может быть, что если сделать так
let links document.querySelectorAll('.Nouxouxv a');
for(i = 0; i < links.length; i++){
   links[i].addEventListener('click', function(e){
       e.preventDefault();
       window.open(e.target.href, '_blank');
  }, true);
}

будет работать лучше.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽