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

Javascript 如何在通过$.get接收内容的对话框中执行Jquery代码,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,假设模板A中存在以下代码,弹出一个对话框,显示模板B中的内容 html在对话框中显示得很好,但不幸的是,模板B中包含的任何javascript都无法运行 Jquery和Jquery ui包含在模板中 模板_B没有javascript包含,因为它由属于模板_a的div表示 模板A中的JS: var win = $(document.createElement('div')); $.get(url, function (html) { win.html(html); win.dialog("

假设模板A中存在以下代码,弹出一个对话框,显示模板B中的内容

html在对话框中显示得很好,但不幸的是,模板B中包含的任何javascript都无法运行

Jquery和Jquery ui包含在模板中

模板_B没有javascript包含,因为它由属于模板_a的div表示

模板A中的JS:

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

<div id="content">

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

</div>

$(函数(){
//这永远不会执行,
//js调试将不会进入此部分。。。
});

您所说的代码块只有在DOM加载完成后才会触发。仅将html插入现有文档不会触发此事件。如果您从该请求中获得了大量HTML,也许您应该将其分解为两个单独的请求,如下所示:

var win = $(document.createElement('div')); $.get(urlA, function (html) { win.html(html); $.getStript(urlB); win.dialog("open"); }); var win=$(document.createElement('div'); $.get(urlA,函数(html){ html(html),; $.getStript(urlB); win.dialog(“打开”); });
urlA请求HTML,urlB请求Javascript。

我需要使用$.get,因为返回的HTML包含一个显示给用户的附加表单,所以我想知道如何以另一种方式执行js?加载DOM后运行
$(function(){})
,仍然会运行该函数。@recictrant,我修改了我的答案,以便您可以分别获得html和js。仅供参考:
$(document.createElement('div'))
可以写成
$(“”)