Firefox 中的 Primefaces 自动完成功能不会在选择时关闭
Primefaces Autocomplete in Firefox not closing on Selection
我正在使用Primefaces 5.0.9和Wildlfy 8.1和JSF 2.1.2
我有一个自动完成定义如下:
<p:autoComplete label="CAT" id="CATEGORY" dropdown="true" value="#{UserDownloadFileBean.editUserFileCategory}"
completeMethod="#{UserDownloadFileBean.categoryAutoComplete}" converter="#{UserDownloadFileCategoryConverter}" forceSelection="true"
var="item" itemLabel="#{item.name}" itemValue="#{item}" required="true" requiredMessage="Please choose a category!" >
<f:ajax event="itemSelect" update=":UploadFileCategoryDialogForm" />
</p:autoComplete>
这适用于所有浏览器,除了 Firefox(使用 v32 和 v34 测试)。当我在建议中选择一个条目时,面板不会隐藏。关闭它的唯一方法是单击外部。Firebug 控制台出现此错误:
引用错误: 未定义事件
检查生成的javaScript代码,问题很明显:
function(){PrimeFaces.cw("AutoComplete","CATEGORY",{id:"createUserDownloadFileForm:CATEGORY",widgetVar:"CATEGORY",delay:300,deletionDelay:600,forceSelection:true,behaviors:{
itemSelect:function(ext) {mojarra.ab('createUserDownloadFileForm:CATEGORY',event,'itemSelect',0,0,{'CLIENT_BEHAVIOR_RENDERING_MODE':'UNOBSTRUSIVE'})}}});});
变量事件不存在(我想其他浏览器无论如何都提供它?在 Showcase (Pf v5.1.7) 中,代码使用 Primefaces.ab 和 ext 代替:
$(function(){PrimeFaces.cw("AutoComplete","widget_j_idt88_event",{id:"j_idt88:event",widgetVar:"widget_j_idt88_event",delay:300,behaviors:{
itemSelect:function(ext) {PrimeFaces.ab({s:'j_idt88:event',e:'itemSelect',p:'j_idt88:event',u:'j_idt88:msgs'},ext);}}});});
这是否在 5.0.9 之后的某个时间修复,如果是这样,有没有办法在 5.0.9 中获得工作版本?否则我可能做错了什么,它不使用相同的功能?
这已被报告为Primefaces的错误,我在他们的代码中发布了一个补丁来修复它。 就我而言,我必须构建一个新的jar才能使其工作,而无需将数百个f:ajax元素全部转换为p:ajax。
相关文章:
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- JavaScript选择功能
- 如何使用OpenLayers以编程方式选择功能
- 具有悬停延迟的 OpenLayers 选择功能控件
- 如何根据属性选择功能
- 如何在UI选择菜单中为每个选项指定选择功能
- 谷歌地图API V3与图标类型和选择功能
- D3js 从 geojson 中选择功能
- 具有时区选择功能的 AngularJS 日期选择器
- JQuery自动完成下拉选择功能
- 自定义选择功能,复制到剪贴板纯JS
- 用户选择功能
- 复选框快速选择功能不正常
- Jquery选择功能自动年龄的生日,而不是输入类型日期
- 在OpenLayers 3中选择功能时是否有事件
- HTML/JavaScript多项选择测验:设置标题和答案选择功能
- 如何使用 AngularJS/Ionic 中现有的章节选择功能
- 自动关闭选择功能
- Jquery自动完成选择功能