我有一个弹出窗口,我有selectonechoice下拉。 单击下拉列表并按下退出键时,整个弹出窗口将在ADF中关闭。 我的要求是如果选择了selectonechoice,则在按下esc键时阻止关闭弹出窗口。
我一直试图通过使用下面的代码来关闭正常的弹出窗口
window.onkeydown = function(event){
if(event.keyCode == 27){
event.cancel();
}
}
我也尝试过覆盖clientlisteners的选项 popupClosed和popupCanceled也无济于事。
有关如何解释esc键功能并防止ADF弹出窗口关闭的任何帮助。
答案 0 :(得分:0)
每个ADF Faces组件类都有一个等效的javascript。对于弹出窗口,RichPopup类在javascript中反映为ADFRichPopup。
你可以通过在javascript对象ADFRichPopup中压制cancel的方法来实现这一点:
<af:resource type="javascript">
function onPopupOpened(event) {
var popup = event.getSource();
popup.cancel = function() {};
}
</af:resource>
<af:popup>
<af:clientListener method="onPopupOpened" type="popupOpened"/>
</af:popup>
当然,这意味着您将无法自己使用cancel()方法,但您可以使用hide()方法。