javascript - jquery在模态div中加载内容,它仅在第二次点击时显示内容

标签 javascript jquery html css ajax

我有一个用 jquery/bootstrap 制作的页面,其中包含以下代码,当单击它时将打开一个模式:

<a class="projects" data-id="test.html" 
   href="#modal" data-modal-target="#modal" data-modal-effect="fadein">
   LOAD CONTENT
</a>

在页面的下方,我有模态 div:

<div id="modal" style="display: none;">
  <h4>Modal title</h4>
  <p>dummy description</p>
  <div id="dinamiccontent">X</div>
</div>

然后我有这个脚本:

<script type="text/javascript">
$(document).ready(function(){
   $(".projects").click(function(){
       var lurl = String($(this).data('id'));
       $("#dinamiccontent").load(lurl);
   });
});            
</script>

问题是,当我单击链接时,模式会正确打开并在 dinamiccontent div 处显示 X 而它应该显示test.html 的内容,但如果我第二次单击同一链接,它会打开正确显示 test.html 内容的模式!

我花了几个小时阅读文档、答案和网站,并对代码进行了许多更改,但我想不出解决方案。

我想在第一次点击上面时加载模态,其中 test.html 预加载在 dinamiccontent div 中关联。可能吗?

最佳答案

我实际上能够使用 Bootstrap 3.3.74.0.0-alpha.6

获得一个工作版本

我确实按照 Bootstrap 指南重构了您的模态,它需要的不仅仅是 id="modal"。我还在切换模态的链接中更改了您的属性。分别尝试这些更改中的每一项,看看它们是否可以解决问题。

<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" />
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>
</head>

<body>
  <a class="projects" href="" data-id="test.html" data-toggle="modal" data-target="#modal"> <!-- Note the 'data-toggle' and 'data-target' -->
     LOAD CONTENT
  </a>

  <div class="modal fade" id="modal" aria-hidden="true">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-body">

        </div>
      </div>
    </div>
  </div>

  <script>
    $(function() {
      $(".projects").click(function() {
        var lurl = String($(this).data('id'));
        $(".modal-body").load(lurl);
      });
    });
  </script>
</body>

</html>

这是一个检查链接:https://glitch.com/edit/#!/chatter-polish

关于javascript - jquery在模态div中加载内容,它仅在第二次点击时显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45195617/

相关文章:

jquery - CSS从右向左扩展宽度

javascript - 如何获取蓝色文本选择的大小?

javascript - 将函数导出到 app.js 时出现 NodeJS 错误

javascript - 如何在 node.js 中解压缩 .gz 字符串

javascript - 井字游戏不改变颜色

php - jquery 不发送按钮选择到 php

JavaScript 将 ","替换为 ", "

javascript - 每 10 秒刷新一次 div 复制 div

html - 常见的 CSS 错误 : display-inline with weird space

html - 如何删除 div 元素内的 href 下划线?