2014-10-25 3 views
0
 $(document).ready(function() { 

     $('a.register-window').click(function() { 
      var popupBox = $(this).attr('href'); 
      $(popupBox).fadeIn(400); 

      var popupMarginTop = ($(popupBox).height() + 24)/2; 
      var popupMarginLeft = ($(popupBox).width() + 24)/2; 

      $(popupBox).css({ 

       'margin-top' : -popupMarginTop, 
       'margin-left' : -popupMarginLeft 

      }); 

      $('body').append('<div id="screen-shadow"></div>'); 
      $('#screen-shadow').fadeIn(300); 
      return false; 

     }); 

     $('button.close, #screen-shadow').live('click', function() { 

      $('#screen-shadow , .register-popup').fadeOut(300, function() { 

       $('#screen-shadow').remove(); 

      }); 

      return false; 
     }); 

     }); 

Выше приведен код JQuery, который я использую для отображения формы входа для форума. Мне удастся показать всплывающее окно с этим кодом просто отлично, но закрытие его не работает, нажимая кнопку или нажимая на (тень экрана), которая в основном является маской. Я буду очень благодарен за помощь в этом :).JQuery Popup Form не закрывается

ответ

1

Предлагаю вам использовать on() вместо live(). Вы можете попробовать, как показано ниже

$('body').on('click', 'button.close, #screen-shadow', function() { 
    $('#screen-shadow, .register-popup').fadeOut(300, function() { 
     $('#screen-shadow').remove(); 
    }); 
    return false; 
}); 
0

Проверьте открытие и закрытие скобок, Прентис и т.д., кажется, что вы забыли что-то в вашем коде ..