Как предотвратить выполнение onclick события с помощью JS?

Добрый день, подскажите пожалуйста
Есть страница на которой имеется ссылка с onclick атрибутом. К сожалению код ссылки изменять не могу, но задача такая, что нужно при определенном действии на странице и при клике по этой ссылке выполнить отдельный js скрипт, а onclick не дать возможности запуститься
Другими словами когда есть следующий код:

<a href="#" id="link" onclick="alert('onclick exectuted')">LINK</a>


$("#link").click(function() {
  alert ('click function executed');
});


нужно чтобы при клике по ссылке, всплыло только окно с click function executed
  • Вопрос задан
  • 268 просмотров
Пригласить эксперта
Ответы на вопрос 4
@alekcena
Нелинейный наставник
// такой синтаксис позволяет перезаписать событие
$("#link").onclick = function(){

}
Ответ написан
Комментировать
DanArst
@DanArst Куратор тега JavaScript
Гриффиндор в моде при любой погоде!
Можно просто заменить значения onclick после загрузки страницы
$(document).ready(function() {
      $('a.#link').attr('onclick', 'alert ("click function executed")');
});
Ответ написан
Комментировать
olegbarabanov
@olegbarabanov
Программист, фрилансер (ИП)
Вариант на VanillaJS
document.querySelector("#link").addEventListener(
        "click",
        (ev) => {
          alert("click function executed");
          ev.preventDefault();
          ev.stopPropagation();
        },
        true
      );
Ответ написан
Комментировать
@andand44
Такой вариант тоже возможен
$('#link').prop('onclick', null).off('click');
$("#link").click(function() {
  alert('click function executed');
});

https://jsfiddle.net/3xgdzth7/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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