EASYUI 1.4版 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 1.4 版本的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://blog.csdn.net/oarsman/article/details/51082958

posted @ 2016-08-31 14:40  龍清扬  阅读(1026)  评论(1编辑  收藏  举报