jQuery.click <a href="#"> - PullRequest
       13

jQuery.click <a href="#">

0 голосов
/ 09 декабря 2018

Я пытаюсь добавить событие щелчка к элементу a с href из # например, <a href="#">Blah!</a>


    jQuery('a').click(function() {
        event.preventDefault();
        console.log('clicked!');
    });

Это работает для всех a, за исключением тех, у которых href="#".

Любая помощь будет принята с благодарностью.Спасибо!

РЕДАКТИРОВАТЬ: Не работает ни в одном браузере в Windows.

jQuery('a').click(function() {
  event.preventDefault();
  console.log('clicked!');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#">Blah!</a>

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Как сказал @CertainPerformance, вы забыли передать обработчик событий в качестве параметра своей функции. Просто измените код с

jQuery('a').click(function() {
  event.preventDefault();
  console.log('clicked!');
});

на

jQuery('a').click(function(event) {
  event.preventDefault();
  console.log('clicked!');
});
0 голосов
/ 09 декабря 2018

Как насчет использования что-то вроде этого:

jQuery('a').click(function(e)  { 
   if($(this).attr("href") == "#"){
      e.preventDefault();
      console.log("clicked");
   }
});

Или использовать что-то вроде этого:

jQuery('a[href$="#"]').click(function(e) { 
   e.preventDefault();     
   console.log("clicked"); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...