我正在像这样动态创建一个jquery UI对话框
$('.panel-body').append
('<div style=\'display:none\' id=\'dialog\' title=\'Message\'><p>' + $scope.successMessage + '</p></div>');
在下一行中,我添加了一些关闭以自动关闭对话框。
$( "#dialog" ).dialog(
{
open: function(event, ui)
{
setTimeout(function()
{
alert(1);
$('#dialog').dialog('close');
}, 3000
);
}
});
但是,我收到此错误消息。
在初始化之前无法调用对话框上的方法;试图调用方法'关闭'
我想这是因为我的对话框是动态的,但我无法解决问题。
答案 0 :(得分:0)
jQuery UI Dialog表现得有些奇怪......这很有效(如果你欣赏的话请相信)
如果要使用按钮或事件打开对话框,可以封装open&amp;超时调用该按钮或事件动作。
//Needs jquery UI as well
$scope={successMessage:"hi"};
$('body').append
('<div style=\'display:none\' id=\'dialog\' title=\'Message\'><p>' + $scope.successMessage + '</p></div>');
$(function(){
$( "#dialog" ).dialog({autoOpen:true});
setTimeout(function()
{
//alert(1);
$("#dialog").dialog("close") ;
}, 3000
);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.js"></script>
&#13;