在没有刷新页面的Ajax调用之后显示模态不起作用

时间:2014-08-03 18:58:15

标签: jquery modal-dialog reveal.js

我不完全确定以下是否足够的信息,但如果我描述这个问题,一些jQuery爱好者可能会认出它。我有一个按钮。当我点击它时,它会激活一个模态(显示 - 模态 - 参考 - 我正在使用揭示模态插件)。这通过应用背景模态(reveal-modal-bg)来遮挡背景。

以下ajax调用将用户输入的电子邮件地址输入到模态中,成功时,它会重新加载带有消息的模态('result')然后淡出,然后是背景模式(reveal-modal-bg)不透明的背景也会消失,我们会在点击按钮之前离开屏幕。这一切都很好,但如果我再次单击按钮,没有页面刷新,我得到的是bacground模态,但不是输入框(reveal-modal-refer)

    $(document.body).on("click", "#refer_it", function(){
    var email = $('#refer_input').val();
    var thread_id = $('#thread_id_for_referral').val();
    var user_id = $('#user_id_for_referral').val();
    $.ajax({
    url: '../email_scripts/refer_email_action_script.php',
    type: 'post',
    data: {
          'email': $('#refer_input').val(),
          'thread_id': $('#thread_id_for_referral').val(),
          'user_id' : $('#user_id_for_referral').val(),
          },
            success: function(html) {
                  var result = "Question sent";
                  $('.reveal-modal-refer').load('refer_box.php', {result: result, thread_id:thread_id}).delay(1000).fadeOut(500);
                  $('.reveal-modal-bg').delay(1500).fadeOut(500);
              }
            });
   return false;
 });

我确信有人认识到这种行为 - 我是jQuery的新手,但我认为在外行人看来它就像按钮是固定的,无法正确响应于揭示模式插件。

非常感谢您花时间观察。

1 个答案:

答案 0 :(得分:0)

点击事件开始时,请尝试

$('.reveal-modal-refer').show();

当您的Ajax完成后,它将淡出“揭示 - 模态 - 参考”#39;元素,你应该确保它首先可见。