2011-11-29 2 views
0

У меня есть модальное окно (которое является окном подтверждения), где у меня есть ссылка на главную страницу, и это выглядит следующим образом:Jquery не позволяет нажать на ссылку

<div id="modal" href="#dialog"> 

<div id="boxes"> 
<div id="dialog" class="window"> 
Tu cuenta ha sido activada | 
<a href="http://pasionesargentas.webatu.com" class="close"> Seguir</a> 
</div> 

<!-- Mask to cover the whole screen --> 
<div id="mask"></div> 
</div> 

</div> 

сума это один:

<script> 
$(document).ready(function() { 
//select all the a tag with name equal to modal 
$('div[id=modal]').click(function(e) { 

    //Cancel the link behavior 
    e.preventDefault(); 

    //Get the A tag 
    var id = $(this).attr('href'); 

    //Get the screen height and width 
    var maskHeight = $(document).height(); 
    var maskWidth = $(window).width(); 

    //Set heigth and width to mask to fill up the whole screen 
    $('#mask').css({'width':maskWidth,'height':maskHeight}); 

    //transition effect  
    $('#mask').fadeIn(1000);  
    $('#mask').fadeTo("slow",0.8); 
    //Get the window height and width 
    var winH = $(window).height(); 
    var winW = $(window).width(); 

     //Set the popup window to center 
    $(id).css('top', winH/2-$(id).height()/2); 
    $(id).css('left', winW/2-$(id).width()/2); 

    //transition effect 
    $(id).fadeIn(2000); 
}); 

//if close button is clicked 
$('.window a.close').click(function (e) { 
     //Cancel the link behavior 
    //e.preventDefault(); }); 

$('div[id=modal]').trigger('click'); 

//if mask is clicked 
$('#mask').click(function() { 
//  $(this).hide(); 
//  $('.window').hide(); 
    });   
}); 
</script> 
<!-- END of Dialog message | Pop up window --> 

Но когда я нажимаю на «Закрыть окно и перейти на главную» Я на самом деле хочу, чтобы перейти к HREF упоминается. Я, тем не менее, удалив строку e.preventDefault(); это пошло бы, но я был неправ. Почему это мешает мне перейти на другую страницу после того, как я нажму ссылку? Он ничего не предпринимает: -/но он отлично работает, если я нажму правой кнопкой мыши и откройте ссылку на новом окне/вкладке. Любые предложения?

+0

Есть ли причина, что вам нужно, чтобы захватить событие щелчка на всех? – bfink

+0

нет, но я попытался удалить всю функцию, но все равно не делаю. – cbarg

+0

Вызывают ли ошибки в javascript в консоли? Кроме того, если вы переходите на новый сайт, вам нужно поставить «http: //» перед URL-адресом внутри href, иначе он будет искать файл под названием «home.com» – bfink

ответ

2

Потому что preventDefault() делает именно это, предотвращает переход от проезда. Если вы хотите сделать это, перейдите от него, а затем просто удалите звонок до preventDefault().

+0

удаление preventDefault() или даже весь блок doesn ' t work. (вот почему я здесь :-) – cbarg

+0

Попробуйте добавить протокол к атрибуту «href» на якоре. «home.com» не является допустимым URL-адресом, поэтому, возможно, это вызывает вашу проблему. – AxiomaticNexus

Смежные вопросы