Как заблокировать ключ "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 для запроса.