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

Вопрос

Страница прыгает по клику после выполнения javascript

Автор вопроса: menardmamОтветов: 2

У меня есть фрагмент javascript (jquery), который является ссылкой на href="#" для переключения щелчка.. все в порядке, за исключением того, что когда я нажимаю на страницу, она возвращается все вверх... я предпочитаю, чтобы страница оставалась там, где это... return false ничего не сделал...

вот код:

<script type="text/javascript">
 jQuery(document).ready(function(){
  jQuery('#social li').click(function(){
   button = jQuery(this).attr('class');
   switch (button)
    {
    case 'social1' :
    jQuery('#facebookbox').show();
    jQuery('#twitterbox').hide();
    jQuery('.social1 a').addClass('selected');
    jQuery('.social2 a').removeClass('selected');
    break;

    case 'social2' :
    jQuery('#facebookbox').hide();
    jQuery('#twitterbox').show();
    jQuery('.social2 a').addClass('selected');
    jQuery('.social1 a').removeClass('selected');
    break;
    }
  });
});
</script>
  • href="#" ссылается на верхнюю часть страницы, поэтому, естественно, она прокручивает страницу вверх. Однако возврат false из обработчика onclick должен помешать браузеру фактически перейти по ссылке. Может быть, выложите какой-нибудь код? tdammers 08.09.2010

javascripthref

Ответы

Ответ 1 · рейтинг 2 · Stephan Muller

Сделайте ссылку на несуществующий якорь, например href="#_"

Ответ 2 · Liggi

Вы можете установить href как href="javascript:void(0)". Это должно предотвратить его прыжки. Обязательно возвращайте false в событии onclick, иначе у вас могут возникнуть проблемы в IE6.

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

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