Liferay 打开对话框后如何执行函数?
打开对话框后,我需要执行一个函数。Liferay 打开对话框后如何执行函数?,liferay,liferay-6,yui,liferay-aui,alloy-ui,Liferay,Liferay 6,Yui,Liferay Aui,Alloy Ui,打开对话框后,我需要执行一个函数。 我尝试了以下方法: Liferay.Util.openWindow({ dialog: {centered: true}, id:'myID', title: 'Title', uri: _url }); alert("Loading Complete"); <a href="javascript: void(0);" onclick="javascript: showDialog();">Show Dia
我尝试了以下方法:
Liferay.Util.openWindow({
dialog: {centered: true},
id:'myID',
title: 'Title',
uri: _url
});
alert("Loading Complete");
<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>
我在打开对话框后但在请求完成之前收到了alert()
。在加载对话框和请求完成后,如何执行函数 我尝试了成功,但没有成功:
Liferay.Util.openWindow({
dialog: {centered: true},
id:'myID',
title: 'Title',
uri: _url
}).on("success", function(){
alert("Loading Complete");
});
如果您正在使用该
\uURL
打开portlet的本地视图/jsp,我建议在相应jsp中调用窗口上的函数执行。onload
或jQuery文档.ready
但是,如果没有,您仍然可以尝试执行以下操作,即向函数添加延迟(setTimeout
),以执行以下操作:
Liferay.Util.openWindow({
dialog: {centered: true},
id:'myID',
title: 'Title',
uri: _url
});
alert("Loading Complete");
<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>
函数showDialog(){
AUI().ready(函数(A){
Liferay.Util.openWindow({
对话框:{centered:true},
id:“myID”,
标题:“标题”,
uri:\u url
});
设置超时(功能被执行,3000);
});
}
函数functionToBeExecuted(){
警报(‘呼叫’);
}
注意:functionToBeExecuted
是您希望调用的函数的名称。您在弹出窗口中显示了什么?这是什么\uURL
?我还没有测试过,但是您可以尝试在对话框中侦听visibleChange
事件:{centered:true,on:{visibleChange:function(event){if(event.newVal){alert('dialogOpened');}}}
。