您的位置:首页 > 产品设计 > UI/UE

combobox输入中文而对应的hidden域的value值没有及时修改的问题

2016-07-18 15:44 351 查看
今天在做easyui的combobox时发现,可编辑状态开启,在Firefox和Chrome里面的反应不太一样,导致我在新增或修改数据时会出现错误。我用的easyui版本是1.4.3。Firebug时发现问题出现所在,在Firefox下,combobox的hidden域的value值,中文输入法输入时并没有跟着变,而当中文输入完毕之后value就没反应了,而英文输入法则会跟着变。在Chrome就没有出现此类问题。经过查阅资料是说浏览器对于中文输入法的处理问题。combobox的input事件inputEvents:{click:_952,keydown:_956,paste:_956,drop:_956},只绑定了keydown,没有绑定keyup。而选择中文字符的时刻,却只触发keyup事件,而不触发keydown事件。Firefox则会响应每次按下的keydown事件而不响应keyup事件。

解决方法如下:

$.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);


inputEvents:{click:_952,keydown:_956,paste:_956,drop:_956}
的keydown改成keyup既可以解决问题了。

参考连接:http://www.oschina.net/question/237688_69510?sort=time&p=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  combobox编辑