Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему функция ‹a href=#A› и jquery click не работают вместе?

Автор вопроса: kalaba2003Ответов: 1

Я хочу, чтобы: в верхней части страницы была ссылка. Когда он нажат, он должен перейти на ту же страницу и переключить класс div с помощью jquery. Но оба из них не работают одновременно. Например:

<a href='#A' id='link'>Go to A and toggle a div class</a>

коды jquery:

$('#link').click(function () {
    $('.toggle').toggle();
   });

   <a name='A'> Here is A </a>

мои коды сложнее, но та же логика, что и здесь. Когда я нажимаю на ссылку, div с классом переключения переключается. Сначала он смотрит jquery-коды. Но это не идет к #A. То есть атрибут href не работает. Есть идеи?...

  • как насчет небольшого образца на jsfiddle.net Dhiraj 21.05.2012
  • Приведите пример jsFiddle. iambriansreed 21.05.2012
  • Это должно работать нормально. Живой пример - jsfiddle.net/v8Z53. TJ VanToll 21.05.2012
  • В примере, который вы показали, есть div id = A, но я сделал это с именем = A.. kalaba2003 21.05.2012
  • Возможно ли, что у вас есть event.preventDefault() где-то еще в вашем JS, который влияет на теги привязки? marteljn 21.05.2012
  • Возможно, есть проблема с вашей частью HTML. Пожалуйста, покажите также свой HTML. Naveed 21.05.2012

htmljqueryhref

Ответы

Ответ 1 · рейтинг 3 · strah

click() не будет запускать событие по умолчанию, поэтому вам нужно установить window.location

$('#link').click(function (e) {
    e.preventDefault();
    $('.toggle').toggle();
    window.location.hash = ($(e.currentTarget).attr("href"));
});

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы