如何在通过$.get接收内容的对话框中执行Jquery代码

How to execute Jquery-code in a dialog which received its content via $.get

本文关键字:对话框 执行 代码 Jquery get      更新时间:2023-09-26

假设template_A中存在以下代码,弹出一个对话框,显示template_B中的内容。

html在对话框中显示得很好,但遗憾的是template_B中包含的任何javascript都无法运行。

Jquery&Jquery ui包含在template_A中。

template_B没有javascript includes,因为它由属于template_a的div表示。

模板中的JS _A:

var win = $(document.createElement('div'));
$.get(url, function (html) {
  win.html(html);
  win.dialog("open");
});

template_B:

<div id="content">
  <script type="text/javascript">
    $(function () {
      // this never executes,
      // js-debugging won't enter this part...
    });
  </script>
</div>

您所说的代码块只有在DOM加载完成后才会被触发。仅将html插入到现有文档中不会触发此事件。如果你从这个请求中得到了很多HTML,也许你应该把它分成两个单独的请求,比如:

var win=$(document.createElement('div'));$.get(urlA,function(html){win.html(html);$.getStript(urlB);win对话框("打开");})

其中urlA请求HTML,urlB请求Javascript。