javascript - 如何使 jquery 事件在具有动态内容和选择器的 Bootstrap 模式中工作?

标签 javascript jquery ajax twitter-bootstrap

我在这方面花了很多时间,并浏览了大量的 SO 帖子,但没有成功。我知道我错过了一些明显的东西。我对 javascript 或 jquery 没有经验,所以请详细回答。

我的目标是打开一个模式并用十几组元素中的第一组填充它,并使用动态添加的分页(标记和唯一 ID)来浏览这些组。如果我不使用模态,我可以完成这项工作,但我需要该项目的模态类型的弹出窗口。

我使用一个插件打开模式,可以轻松加载 ajax 内容:

<p><span class="smr-popup">click for popup test</span></p>

<script src="/js/eModal.min.js"></script>

<script>
$(document).ready(function () {
 $(".smr-popup").click(smrPopup);
  function smrPopup() {
    eModal.ajax({
        size: 'lg',
        url: "page1.html",
        buttons: [
            { text: "Close", close: true, style: "danger" }
        ]
    }, "Title");
   }
 });
</script>

源页面底部的模态容器:

<div class="modal fade" tabindex="-1" style="display: none;" aria-hidden="true">
 <div class="modal-dialog modal-lg">
  <div class="modal-content">
   <div class="modal-header">
     <button type="button" class="x close" data-dismiss="modal">
       <span aria-hidden="true">×</span>
       <span class="sr-only">Close</span>
      </button>
      <h4 class="modal-title">Ajax modal <small></small></h4>
   </div>
  </div>
 </div>
</div>

填充模式后,我使用唯一的 id 动态添加分页。问题是,当我单击其中之一时,绝对没有任何反应,jquery 会忽略该单击。

<p>..... modal content loaded via ajax .....</p>

<span id="page2">goto page 2</span>
<span id="page3">goto page 3</span>

<script>
  $(document).ready(function() {
   $('#page2').on("click", function() { 
    $.get("page2.html");
   });
   $('#page3').on("click", function() { 
    $.get("page3.html");
   });
  });
</script>

我需要使用动态生成的选择器用新的ajax内容重新填充模态,并且我正在疯狂地尝试找出如何让jquery识别新的id。希望我已经说得足够清楚,这对某人来说是有意义的。预先感谢您的帮助!

最佳答案

jQuery 的第二个参数 on()函数是目标选择器。这些点击事件必须放置在动态元素父级(根据您的代码的 p 标记)上,然后您必须将 id 选择器参数作为第二个参数。

关于javascript - 如何使 jquery 事件在具有动态内容和选择器的 Bootstrap 模式中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30720837/

相关文章:

javascript - 只嵌入一些google webfonts的字母

javascript - lodash 可以删除仅包含 null 或 undefined 的数组吗?

javascript - Codeigniter - Ajax 调用时出错 (404)

javascript - LaunchDarkly 引导 : (JS) Property Assignment Expected

javascript - 如何在提交时更改表单 url 参数?

javascript - ajax 将多部分表单数据上传为 json 对象

javascript - Node.js + jQuery 发生错误

jquery - 是什么让网站在滚动时感觉沉重?

javascript - 在 html 部分 View 中以模式显示 dataTable 时出现问题

javascript - 使用 AJAX 将头像上传到服务器