переключатель jQuery: нажатие на ссылку переходит обратно вверх страницы

Я создал переключатель jQuery, но когда я нажму на ссылку для открытия отделения, она перейдет к верхней части страницы. как я могу зафиксировать это?

Я знаю, что мог заменить ссылку с чем-то еще, но я должен прояснить пользователям, что это - ссылка и что они могут нажать на него.

19
задан Christophe 18 May 2010 в 12:01
поделиться

2 ответа

Добавьте return false; в конец кода, который запускается при нажатии на ссылку.

$('a.myLink').toggle(function() {
    // run my code
    return false;
});

В качестве альтернативы можно получить объект event и вызвать .preventDefault () .

$('a.myLink').toggle(function(event) {
    event.preventDefault();
    // run my code
});

Оба эти метода отключают поведение ссылки по умолчанию.

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

37
ответ дан 30 November 2019 в 03:19
поделиться

Это потому, что есть действие по умолчанию, связанное с такими элементами, как ссылки, флажки, переключатели и т. Д. Вы можете отменить его следующим образом:

$('a.mylink').click(function(ev) { // Pass in the event object to your function
    // do stuff
    ev.preventDefault();
    return false;
});

Дополнительная информация здесь: http: // api.jquery.com/event.preventDefault/

В редких случаях присоединения обработчика событий к дочернему элементу ссылки вы также захотите использовать event.stopPropagation () , чтобы остановить событие, всплывающее в DOM.

3
ответ дан 30 November 2019 в 03:19
поделиться
Другие вопросы по тегам:

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