Как заблокировать ключ "esc" на RichFacesPleaseWaitBox?

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

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

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

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

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

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

2 ответа

Решение

Если я правильно понял вашу точку зрения:

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

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

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

Mousetrap.unbind('esc');

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

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

document.onkeydown   

просто:

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

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

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

Другие вопросы по тегам