2013-10-11 21 views
0

這似乎是一件非常簡單的事情,但我已經搜索過,無法找到如何去做。如何在jsf/richfaces中實現熱鍵xhtml

在RichFaces的/ JSF我想實現一個簡單的表格上的一些快捷鍵,例如:

<h:panelGrid columns="3" width="500"> 
    <h:outputLabel value="User"/> 
    <h:commandButton id="userAdd" value="Add" action="staffNewUser"/> 
    <h:commandButton id="userEdit" value="Edit" action="staffEditUsers"/> 
    ... 
</h:panelGrid> 

我已經嘗試了一堆東西讓一個熱鍵工作包括:

<rich:hotKey key="alt+ctrl+u" > 
    <rich:componentControl target="userAdd" operation="click"/> 
</rich:hotKey> 

沒有用。任何想法,將不勝感激。 (順便說一句,我還沒有發現任何文檔中熱鍵的「鍵」的目標,並希望在哪裏,可能是一個指針。)

回答

0

您使用<rich:hotkey/>輸入組件時缺少enabledInInput屬性,它是必要的。所以,你應該是

<rich:hotKey key="alt+ctrl+u" enabledInInput="true"> 
    <rich:componentControl target="userAdd" operation="click"/> 
</rich:hotKey> 

延伸閱讀:

編輯:你真的不需要的成分控制。您可以直接使用熱鍵的onkeydown事件:

<rich:hotKey onkeydown="#{rich:element('userAdd')}.click();return false;" preventDefault="true" key="alt+ctrl+u"/> 
+0

這不起作用。您提到的顯示彈出窗口的例子確實有效。但是,就我而言,按鈕不會被點擊,更確切地說,按鈕所採取的操作不會發生。 (另外,由於在這個頁面上沒有輸入字段,所以enabledInInput不會(不應該)有任何區別。)感謝指向引用的指針;我之前沒有遇到過這個頁面。 – wjr

+0

@wjr查看我的編輯請問 – kolossus

+0

我的頭腦簡單,非常感謝你。儘管看起來瀏覽器已經有很多熱鍵已經定義,但它仍然有效。 :( – wjr