抓住关键pressed无需输入字段Ajax事件 [英] Catch key pressed ajax event without input fields
问题描述
在一个合作伙伴管理,在合作伙伴的编号或名称输入,合作伙伴信息及图片显示和输入文本,介绍合作伙伴编号或名称被隐藏。
然后我想在我的支持bean执行一个方法时,ESC键或回车键为pressed
我赶上keyup事件与下面的JavaScript中的观点:
<脚本类型=文/ JavaScript的>
(文档)$ .bind('的keyup',函数(E){
调试器;
如果(参数[0] .KEY =='Esc键'){
警报(是);
}
});
< / SCRIPT>
我怎么能说我支持bean的方法???
公共无效监听器(){
开关(钥匙code){
案例(27):
//切换在豆布尔属性来渲染视图中隐藏面板
}
}
我tryed与远程命令或AJAX监听器:
<电话号码:remoteCommand名=远程的ActionListener =#{registerVisitBean.listener}更新=input_table/>
< F:Ajax事件=KEYUP执行=@这个键code监听器=#{registerVisitBean.listener}更新=input_table/>
< H:inputHidden ID =键code绑定=#{键code}值=#{registerVisitBean.key code}/>
这两种方法都赶上KEYUP当选择输入文本,但是当我将其隐藏以显示合作伙伴的信息,监听器停止工作。
任何想法?
谢谢! Ĵ
<脚本类型=文/ JavaScript的>
(文档)$ .bind('的keyup',函数(E){
调试器;
如果(参数[0] .KEY =='Esc键'){
警报(是);
//假设你想在这里呼吁监听器
远程([{名称:'键',值:参数[0] .KEY}]);
}
});
< / SCRIPT>
<电话号码:remoteCommand名=远程的ActionListener =#{registerVisitBean.listener}更新=input_table/>
公共无效监听器(){
地图<字符串,字符串> PARAMS = FacesContext.getCurrentInstance()getExternalContext()getRequestParameterMap()。
字符串键code = params.get(钥匙);
//你的code
}
In a partner management, when partner number or name is entered, the partner info and photo are shown and input text to introduce partner number or name is hidden.
Then I want to execute a method in my backing bean when ESC or ENTER key are pressed
I catch the keyup event with with following javascript in the view:
<script type="text/javascript">
$(document).bind('keyup', function(e) {
debugger;
if (arguments[0].key == 'Esc') {
alert("YEAH");
}
});
</script>
How can i call my backing bean method???
public void listener() {
switch (keyCode) {
case(27):
// switch boolean attribute in bean to render view hidden panel
}
}
I've tryed with remote command or ajax listener:
<p:remoteCommand name="remote" actionListener="#{registerVisitBean.listener}" update="input_table"/>
<f:ajax event="keyup" execute="@this keyCode" listener="#{registerVisitBean.listener}" update="input_table" />
<h:inputHidden id="keyCode" binding="#{keyCode}" value="#{registerVisitBean.keyCode}" />
Both methods catch the keyup when input text is selected but when i hide it to show partner info, listener stop working.
Any ideas?
Thanks! J
<script type="text/javascript">
$(document).bind('keyup', function(e) {
debugger;
if (arguments[0].key == 'Esc') {
alert("YEAH");
// suppose you want to call your listener here
remote([{name: 'key', value: arguments[0].key}]);
}
});
</script>
<p:remoteCommand name="remote" actionListener="#{registerVisitBean.listener}" update="input_table"/>
public void listener() {
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String keyCode = params.get("key");
// your code
}
这篇关于抓住关键pressed无需输入字段Ajax事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!