Как отключить функцию Javascript кликов, если ссылка начинается с # - PullRequest
2 голосов
/ 19 июня 2020

Как я могу запустить этот код для всех URL-адресов ссылок, кроме ссылок, начинающихся с #, например, bootstrap свертывание, модальные ссылки и т. Д. c.?

$(function(){
    $("a").click(function() {
        $(".se-pre-con").fadeOut("slow");
        $(this).after("<div class='se-pre-con text-center pp500'><i class='fa fa-list fa-spin fa-5x fa-fw text-color1'></i></div>").fadeIn(); 
    });
});

Ответы [ 3 ]

1 голос
/ 19 июня 2020

Вы можете просто проверить первый символ, чтобы убедиться, что это не #.

$(function() {
  $("a").click(function() {
    if ($(this).attr("href").substr(0, 1) != "#") {
      $(".se-pre-con").fadeOut("slow");
      $(this).after("<div class='se-pre-con text-center pp500'><i class='fa fa-list fa-spin fa-5x fa-fw text-color1'></i></div>").fadeIn();
    }
  });

});
0 голосов
/ 19 июня 2020

Просто используйте CSS селектор атрибутов отрицания и префикса:

    $('a:not([href^="#"])').click(...)
0 голосов
/ 19 июня 2020

Вы можете использовать селектор not в jquery. Пример:

$(function(){
$("a:not([href='#'])").click(function(e){
e.preventDefault();
alert("You clicked me!");

      });
    });
a { display: block }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="link">Click Me!</a>
<a href="link">Click Me Also!</a>
<a href="link">Me Too!</a>
<a href="#">Don't CLick me please!</a>
<a href="#">Don't Click me!</a>

примечание: preventDefault останавливает открытие ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...