【问题标题】:Reveal modal not functioning after Ajax call without refreshing page在没有刷新页面的 Ajax 调用后显示模式不起作用
【发布时间】:2014-08-03 18:58:15
【问题描述】:

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

以下 ajax 调用处理用户将电子邮件地址输入到模态中,成功时,它会重新加载带有消息('result')的模态,然后淡出,然后是背景模态(reveal-modal-bg)不透明背景也会消失,在单击按钮之前我们只剩下屏幕了。这一切都很好,但是如果我再次单击按钮,而不刷新页面,我得到的只是免费模式,而不是输入框(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 新手,但我想用外行的话来说,它就像按钮是固定的,无法正确响应显示模式插件。

非常感谢您花时间查看。

【问题讨论】:

    标签: jquery modal-dialog reveal.js


    【解决方案1】:

    当点击事件开始时,尝试放置

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

    当您的 Ajax 完成后,它会淡出“reveal-modal-refer”元素,您应该首先确保它是可见的。

    【讨论】:

    • 不幸的是,此模式已加载,然后是延迟,然后是淡出,因此它绝对可见。但是感谢您的输入
    猜你喜欢
    • 2018-06-14
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2023-03-20
    • 2016-08-15
    相关资源
    最近更新 更多