preventDefault () на <a> тег

У меня есть некоторый HTML и jQuery, который двигает a div вверх и вниз, чтобы показать или скрыть' его, когда на ссылку нажимают:

<ul class="product-info">
  <li>
    <a href="#">YOU CLICK THIS TO SHOW/HIDE</a>
    <div class="toggle">
      <p>CONTENT TO SHOW/HIDE</p>
    </div>
  </li>
</ul>
$('div.toggle').hide();
$('ul.product-info li a').click(function(event){
  $(this).next('div').slideToggle(200);
}

Мой вопрос: Как я использую preventDefault() остановить ссылку, действующую как ссылка и добавляющую "#" в конец моего URL и переходящую к верхней части страницы?

Я не могу выяснить правильный синтаксис, я просто продолжаю получать ошибку при высказывании

preventDefault () не является функцией.

123
задан John C 18 October 2019 в 08:49
поделиться

0 ответов

Попробуйте что-то как:

$('div.toggle').hide();
$('ul.product-info li a').click(function(event) {
    event.preventDefault();
    $(this).next('div').slideToggle(200);
});

Вот страница об этом в документация jQuery

181
ответ дан Aliaksandr Sushkevich 24 November 2019 в 01:11
поделиться

С другой стороны, Вы могли просто возвратить false от события щелчка:

 $('div.toggle').hide();
 $('ul.product-info li a').click(function(event){
  $(this).next('div').slideToggle(200);
+ return false; 
 });

, Который остановил бы A-Href быть инициированным.

Примечание однако, по причинам удобства использования, в идеальном мире, что href должен все еще пойти куда-нибудь для людей, кого хочет открыть ссылку на новой вкладке;)

11
ответ дан Kent Fredric 24 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

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