ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案

本文解决了ExtJS中ComboBox在IE浏览器下无法输入字符的问题,提供了两种解决方案:一是覆盖afterRender方法调整元素位置;二是设置hideTrigger属性为false。

使用 ComboBox 来作为自动完成的组件,就像google suggestion ,可是在IE下怎么也无法输入字符,是处于不可编辑状态,而firefox和chrome都正常显示。我在2个ExtJs QQ群中问这个问题,都没有解决,不知道是不会还是不想回答。我在这里分享出来解决办法。
这个问题困扰了我不少时间,在网上总也搜索不到答案。最后终于通过google找到了解决办法。

方法1:将如下代码添加到你的 Ext.onReady的方法中即可!

 Ext.form.TriggerField.override({
	    afterRender : function(){
	        Ext.form.TriggerField.superclass.afterRender.call(this);
	        var y;
	        if(Ext.isIE && !this.hideTrigger && this.el.getY() != (y = this.trigger.getY())){
	            this.el.position();
	            this.el.setY(y);
	        }
	    }
	});

方法2:
将ComboBox的hideTrigger属性设置为false

 hideTrigger:false

首先我搜索到了这个博客
http://vegdave.wordpress.com/2009/01/06/autocomplete-fix-for-ext-combobox-on-ie/#comment-14168
然后此博客给出了解决办法的链接地址
http://www.extjs.com/forum/showthread.php?p=204817


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值