Как заблокировать клавишу esc на RichFacesPleaseWaitBox?

У меня есть реализация RichFacesPleaseWaitBox в моем приложении, но есть проблема.

Когда пользователь инициирует какое-либо действие, запускается статус, отображающий модальное «Ожидание». Когда действие завершает выполнение, статус завершается, скрывая модальное «Ожидание». Пока здесь все в порядке.

Однако, если пользователь запускает действие, нажимает «ESC», появившееся модальное «Ожидание» исчезает, позволяя пользователю снова нажать на действие, сделав новую отправку.

Как я могу заблокировать «ESC», чтобы решить эту проблему?

Я пробовал это в своей модальной панели, но не работал.

<rich:hotKey id="hotKeyModalPanelSTATUS" 
handler="alert('false');"
key="esc" />    

person fhgomes_ti    schedule 02.10.2012    source источник
comment
не найти решения. community.jboss.org/message/763062#763062 сообщение на форуме richFaces тоже не дало результатов   -  person fhgomes_ti    schedule 08.10.2012
comment
Никогда не пробовал это модальное окно, но если оно основано на модальном jquery, вы можете отключить esc при загрузке страницы, как описано здесь: kylefox.ca/jquery-modal/examples/index.html (пример 5)   -  person nigi    schedule 18.10.2012


Ответы (2)


Если я правильно понял вашу мысль:

Импортируйте файл mousetrap.js, следуйте указаниям документация jquery, и, наконец, сделайте такой код (конечно, для вашего модального отображаемого события):

Mousetrap.bind('esc', function(event){
  event.preventDefault();
  return false;
});

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

Mousetrap.unbind('esc');

Надеюсь, поможет.

person caarlos0    schedule 26.10.2012

Ну, а пока:
используйте onkeydown и заблокируйте любой esc в моем приложении.
при первой загрузке js:

document.onkeydown   

просто:

if(event.keyCode == 27)
 return false;

но если я хочу сказать "Привет, нажмите Esc" в какой-то функции или окне... я не могу... это хардкорное решение.

Если у кого-то есть лучшее решение, только блокировка эффекта ESC по запросу.. плз.. внесите свой вклад

person fhgomes_ti    schedule 25.10.2012