Как остановить якорь от перенаправления с помощью JQuery

javascript jquery html

56968 просмотра

3 ответа

240 Репутация автора

Как я могу остановить перенаправление тега привязки на другую страницу, если пользователь не вошел в систему? У меня есть функция, чтобы проверить, вошел ли пользователь в систему или нет. Я хочу сделать это с помощью JQuery или JavaScript. Вот что я пробовал до сих пор, но безрезультатно:

<a href="www.somewhere.com" id="yes">Read More</a>

<script type="text/javascript">
    $(document).ready(function(){
        $('a').click(function(){
            var id = $(this).attr('id');
            if(id == 'yes'){
                //i want to prevent
            }else{
                //redirect
            }
        });
    });
</script>
Автор: Ankit Источник Размещён: 28.06.2012 08:36

Ответы (3)


49 плюса

31763 Репутация автора

Решение

Пожалуйста, используйте http://api.jquery.com/event.preventDefault/

демо-версия http://jsfiddle.net/aRBY4/6/

e.preventDefault() 

котировка

Если этот метод вызывается, действие по умолчанию для события не будет запущено.

Также, если я могу предложить прочитать это: .prop () vs .attr ()

Надеюсь это поможет,

образец кода

  $('a').click(function(event){
    event.preventDefault();
    //do whatever
  });

В вашем случае, пожалуйста, попробуйте это

$(document).ready(function() {
    $('a').click(function(event) {
        var id = $(this).attr('id');
        if (id == 'yes') {
            event.preventDefault();
            //i want to prevent
        } else {
            //redirect
        }
    });
});​
Автор: Tats_innit Размещён: 28.06.2012 08:38

2 плюса

7410 Репутация автора

Измените свой обработчик события click на этот

$('a').click(function(e){
    var id = $(this).attr('id');
    if (id == 'yes')
    {
        e.preventDefault();
        e.stopPropagation();
    }
    else
    {
        //redirect
    }
});
Автор: slash197 Размещён: 28.06.2012 08:38

-1 плюса

14530 Репутация автора

Используйте event.preventDefault () . Он используется для предотвращения действия по умолчанию для события.

<script type="text/javascript">
$(document).ready(function(){
      $('a').click(function(){
          var id = $(this).attr('id');
         if(id == 'yes'){
             event.preventDefault() 
         }else{
            //redirect
         }
     });
});
</script>
Автор: Nishu Tayal Размещён: 28.06.2012 08:55
Вопросы из категории :
32x32