Как я только что узнал из моего вопроса , где у меня была более или менее та же проблема, return false;
- это простое решение. Это работает, но также может помешать запуску другого кода. Объяснение можно найти здесь в этом замечательном учебнике .
Скорее всего, вы хотите использовать что-то вроде
$("a").click(function(event) {
// your custom code
event.preventDefault();
});
Он в основном останавливает / запрещает браузеру выполнять действие по умолчанию, которое ссылается на себя при использовании #
в качестве href
. Возвращение false также останавливает работу следующих скриптов, если они находятся в том же обработчике. Но учебник объясняет это лучше:)
В вашем случае это будет
$("a.codeButtonB").click(function(event){
$("pre.codeB").toggle();
event.preventDefault();
});
Вероятно, это лучшее решение, если вы хотите использовать ссылки. Использование кнопок было бы другим решением, но это ограничивает вас в некоторых отношениях. Кроме того, вы могли бы (читай: должны) сохранить a и дать ему реальную ссылку на контент, который вы хотите отобразить, таким образом, он будет работать, даже если на клиенте отключен JavaScript.