Javascript 如何在通过$.get接收内容的对话框中执行Jquery代码
假设模板A中存在以下代码,弹出一个对话框,显示模板B中的内容 html在对话框中显示得很好,但不幸的是,模板B中包含的任何javascript都无法运行 Jquery和Jquery ui包含在模板中 模板_B没有javascript包含,因为它由属于模板_a的div表示 模板A中的JS: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("
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'))
可以写成$(“”)