EASYUI combobox firefox 下不支持中文检索的问题

来源:互联网 发布:优化机构设置城管局 编辑:程序博客网 时间:2024/06/12 16:03

EASYUI combobox firefox 下不支持中文检索的问题

easyui 的combobox 在IE下面输入中文,可以自动实现筛选和检索的功能,但是在firefox下面不可以。 于是查了一些资料,发现原来是浏览器对于中文输入法的处理问题,对于chrome 和 IE 他们会响应输入法最后输入中文时的keydown事件,也就是说如果你输入”调” 这个字,如果用的拼音输入法,你按下 diao 四个字符的时候,IE不会处理keydown事件,只有当”调”这个字进入到输入框中的时候,才会触发keydown 从而触发combobox的检索。 而Firefox 会响应每一个字符的keydown事件,也就是按下 d i a o 四个键的时候各触发一次keydown事件,而选择中文字符的时刻,却只触发keyup事件,而不触发keydown事件。 而combobox的过滤事件恰恰只绑定了keydown 所以导致了在firefox中中文输入无法检索的问题。

解决方法如下: 在easyui 版本的jquery.easyui.min.js 中搜索如下代码:

$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_952,keydown:_956,paste:_956,drop:_956},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",multiple:false,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){},down:function(e){},left:function(e){},right:function(e){},enter:function(e){},query:function(q,e){}},onShowPanel:function(){},onHidePanel:function(){},onChange:function(_983,_984){}});})(jQuery);

将其中的keydown 改为keyup 修改后为keyup:_956 即可解决问题。

如果不适用mini版的话,可以修改plugin 下面的jquery.combo.js 修改的部分和上面一致。

转自:http://www.cnblogs.com/longqingyang/p/5825840.html

0 0
原创粉丝点击