6.4. 易用的构件热键支持

添加ajax:keyBinding用于为构件添加热键绑定

<w:textField fieldLabel="TextField">
    <ajax:keyBinding key="A" action="#{testKeyBindingBean.show}" alt="true" />
</w:textField>

<w:form>
    <w:button value="submit" jsvar="btn" />
    <ajax:keyBinding target="document" key="F7" clientScript="btn.fireEvent('click');" />
</w:form>

<ajax:keyBinding target="document" key="F8,N1,1,B,C" action="#{testKeyBindingBean.submit }"
    clientScript="return confirm('确认提交?');" />

代码1表示如果在w:textField得到焦点时,按下键盘的ALT+A,会执行#{testKeyBindingBean.show}这个Action方法。

代码2表示如果在页面任意地方,按下键盘的F7,会执行一段js代码。

代码3表示如果在页面任意地方,按下键盘的F8或小键盘1或大键盘1或B或C这五个键中任意一个,都会先执行一段js代码,如果js返回的是true的话,则会继续执行#{testKeyBindingBean.show}这个Action方法;如果js返回的是false,则不执行Action方法。