打开对话框后我需要执行一个功能 我尝试了以下内容:
Liferay.Util.openWindow({
dialog: {centered: true},
id:'myID',
title: 'Title',
uri: _url
});
alert("Loading Complete");
我在对话框打开后但在请求完成之前得到alert()
如何在加载Dialog后和请求完成后执行函数?
我尝试了成功,但没有成功:
Liferay.Util.openWindow({
dialog: {centered: true},
id:'myID',
title: 'Title',
uri: _url
}).on("success", function(){
alert("Loading Complete");
});
答案 0 :(得分:0)
如果您正在使用_url
打开portlet的本地视图/ jsp,我建议在相应的jsp中调用functionToBeExecuted
或jQuery window.onload
上的document.ready
但是,如果没有,您仍然可以尝试使用,即将延迟(setTimeout
)添加到functionToBeExecuted
,如下所示:
<a href="javascript: void(0);" onclick="javascript: showDialog();">Show Dialog</a>
<script type="text/javascript">
function showDialog(){
AUI().ready(function(A) {
Liferay.Util.openWindow({
dialog: {centered: true},
id: 'myID',
title: 'Title',
uri: _url
});
setTimeout(functionToBeExecuted, 3000);
});
}
function functionToBeExecuted(){
alert('Called!');
}
</script>
注意: functionToBeExecuted
是您希望致电的功能名称。