假设template_A中存在以下代码,弹出一个显示template_B内容的对话框。
html在对话框中显示得很好,但不幸的是,template_B中包含的任何javascript都没有运行。
Jquery& Jquery-ui包含在template_A中。
template_B没有javascript-includes,因为它由属于template_A的div表示。
模板_A中的JS:
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>
答案 0 :(得分:1)
您正在谈论的代码块仅在DOM完成加载后才会触发。只是将html插入现有文档不会触发此事件。如果您从此请求获得了大量HTML,也许您应该将其分解为两个单独的请求,如下所示:
var win = $(document.createElement('div')); $.get(urlA, function (html) { win.html(html); $.getStript(urlB); win.dialog("open"); });
urlA请求HTML和urlB请求Javascript。