2012-10-02 72 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 ..贡献