Я создал переключатель jQuery, но когда я нажму на ссылку для открытия отделения, она перейдет к верхней части страницы. как я могу зафиксировать это?
Я знаю, что мог заменить ссылку с чем-то еще, но я должен прояснить пользователям, что это - ссылка и что они могут нажать на него.
Добавьте return false;
в конец кода, который запускается при нажатии на ссылку.
$('a.myLink').toggle(function() {
// run my code
return false;
});
В качестве альтернативы можно получить объект event
и вызвать .preventDefault ()
.
$('a.myLink').toggle(function(event) {
event.preventDefault();
// run my code
});
Оба эти метода отключают поведение ссылки по умолчанию.
Первый также предотвратит всплытие события, поэтому используйте его только в том случае, если вам не нужно использовать всплытие события.
Это потому, что есть действие по умолчанию, связанное с такими элементами, как ссылки, флажки, переключатели и т. Д. Вы можете отменить его следующим образом:
$('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.