2012-10-02 74 views
0

我在我的應用「RichFacesPleaseWaitBox」的實現,但有一個問題。如何在RichFacesPleaseWaitBox上禁用密鑰「esc」?

當用戶發起的任何動作,狀態開始,顯示模式「等待」。當動作結束執行時,狀態結束,隱藏模式「等待」。 直到這裏好。

然而,如果用戶開始動作,按「ESC」,模態「等待」,它曾出現,它就會消失,允許用戶再次點擊動作,使得一個新的提交。

我如何阻止「ESC」來獲得解決方法這個問題?

我已經試過,在我modalPanel,但不起作用。

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

找不到解決方案。 https://community.jboss.org/message/763062#763062在RichFaces的論壇沒有結果太 –

+0

沒吃過這個模式,但如果它是基於jQuery的模式,你可以喜歡這裏描述的頁面加載禁用ESC後: http://kylefox.ca/jquery-modal/examples/index.html(例5) – nigi

回答

2

如果我得到你的觀點正確:

導入mousetrap.js文件,按照jquery documentation,最後做一個像這樣的代碼(你情態顯示事件,當然):

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

你也可能要取消綁定的模式的隱藏事件的事件,所以,你可以做的隱藏事件以下:

Mousetrap.unbind('esc'); 

希望它能幫助。

+0

它工作正常。泰 –

0

好了,現在:
使用的onkeydown並阻止我的應用程序的任何ESC。
對第一JS負載:

document.onkeydown 

簡單:

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

但是,如果我要說 「你好,U按Esc」 在某些功能或窗口..我不能 是一個硬核解決方案。

如果任何人有一個更好的解決方案,只阻斷ESC效應的要求.. PLZ ..貢獻