将页面加载到div中时document.ready需要替换(使用jquery-ui对话框)

时间:2011-09-19 20:53:20

标签: jquery jquery-ui

3 个答案:

答案 0 :(得分:1)

您不能只是简单地听取与您的内容匹配的dialogopen元素吗?

$('#windowName or .tabs.parent(), not the whole document').bind('dialogopen', function() {
   $('.tabs').tabs("div.panes > div", {effect: 'ajax', api: true});
});

或者您是否尝试使用自定义事件?

function AddWindow(url, windowName, windowTitle)
{
   $('<div id="' + windowName + '"/>').load(url,function()
   {
     $(this).dialog({title: windowTitle, modal: true}).bind('dialogclose', function () { $(this).remove(); })
       .trigger( "myDialogReady" );
   });
}

$('#windowName').bind("myDialogReady",function(){
    $('.tabs').tabs("div.panes > div", {effect: 'ajax', api: true});
});

答案 1 :(得分:0)

当DOM准备好进行操作时,

document.ready会激活。 如果您想知道页面何时完全加载,请尝试使用window.load:

$(window).load(function() {
 alert("images are loaded!");
});

答案 2 :(得分:0)

为什么不检查它是否存在,如果不存在,创建它?

if ($("#" + windowName).length==0)
{
    $(document.body).append("<div id='" + windowName + '" />");
}
// YOUR CODE...