2015-05-11 1 views
0

У меня есть всплывающее окно, внутри которого я выбрал selectchoice. При нажатии на раскрывающееся меню и нажатии клавиши запуска все всплывающее окно закрывается в АПД. Мое требование состоит в том, чтобы предотвратить закрытие всплывающего окна при нажатии клавиши esc, если выбран selectonechoice.Необходимо, чтобы всплывающее окно закрывалось при нажатии клавиши esc

Я пытался закрыть нормальный всплывающее окно, используя ниже код, который не работает

window.onkeydown = function(event){ 
    if(event.keyCode == 27){ 
     event.cancel(); 
    } 
} 

я также опробованы варианты перезаписать clientlisteners popupClosed и popupCanceled, не помогло.

Любая помощь в том, как интерпретировать функциональность ключа esc и предотвращать закрытие всплывающего окна ADF.

+0

Вы пробовали 'event.preventDefault();'? – QueryLars

ответ

0

Каждый класс компонентов ADF Faces имеет эквивалент javascript. Для popup класса RichPopup отражается как ADFRichPopup в javascript.

Вы можете достичь, подавляя отменить метод используется в JavaScript Object ADFRichPopup:

<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> 

Конечно, это означает, что вы не сможете использовать отменить() метод себя, но вы можете использовать шкурку() вместо этого.

+0

Поскольку event.getSource() не дал мне ADFRichPopup, если фокус находится на любом из дочерних элементов всплывающего окна. Я использовал 'var popup = AdfPage.PAGE.findComponent (" popupId "); stdPopup.cancel = function() {}; '. Но это не помешало закрытию всплывающего окна при нажатии клавиши Esc. – Raghu

+0

event.getSource() предоставит вам экземпляр popup 100%, если вы разместите слушателя клиента во всплывающем теге. Если нет, это просто означает, что с вашим кодом что-то не так. Это решение было проверено при поддержке Oracle, оно работает точно. –

Смежные вопросы