Extjs 3.3 tree以下的版本在IE10无法点击的解决办法
小编:管理员 293阅读 2022.09.07
距上篇文章已过去好几天了,说好的一周发表1到3篇文章,难道都让狗吃了吗?现在才发布一篇而且还是转载的文章。 好了,闲话少叙,切入正题,Extjs前端框架是比较早的前端mvc框架了,可能很多人都没接触过,而且现在也很少有项目用Extjs框架搭建了,原因是什么?那就不得而知了,有人说是Extjs比较重…… 在使用Extjs3.3及以下的版本,在IE10环境中却无法点击树节点,而在IE的其他版本(IE7,IE8,IE9,IE11)均可正常。经过在网上查找资料得知,原因是因为Extjs3.3的ext-all.js中的getAttribute方法不能兼容IE10出错引起。 以下是Extjs3.3的ext-all.js的getAttribute方法
etAttribute : Ext.isIE ? function(name, ns){ var d = this.dom, type = typeof d[ns + ":" + name]; if(['undefined', 'unknown'].indexOf(type) == -1){ return d[ns + ":" + name]; } return d[name]; } : function(name, ns){ var d = this.dom; return d.getAttributeNS(ns, name) || d.getAttribute(ns + ":" + name) || d.getAttribute(name) || d[name]; },复制
Extjs3.4的ext-all.js的getAttribute方法
getAttribute: (function(){ var test = document.createElement('table'), isBrokenOnTable = false, hasGetAttribute = 'getAttribute' in test, unknownRe = /undefined|unknown/; if (hasGetAttribute) { try { test.getAttribute('ext:qtip'); } catch (e) { isBrokenOnTable = true; } return function(name, ns) { var el = this.dom, value; if (el.getAttributeNS) { value = el.getAttributeNS(ns, name) || null; } if (value == null) { if (ns) { if (isBrokenOnTable && el.tagName.toUpperCase() == 'TABLE') { try { value = el.getAttribute(ns + ':' + name); } catch (e) { value = ''; } } else { value = el.getAttribute(ns + ':' + name); } } else { value = el.getAttribute(name) || el[name]; } } return value || ''; }; } else { return function(name, ns) { var el = this.om, value, attribute; if (ns) { attribute = el[ns + ':' + name]; value = unknownRe.test(typeof attribute) ? undefined : attribute; } else { value = el[name]; } return value || ''; }; } test = null; })(),复制
将3.4中的方法覆盖3.3的ext-all.js中,ie10中tree恢复正常。
相关推荐
- ExtJs七(ExtJs Mvc创建ViewPort) 前言在4.1的时候,要先创建一个扩展于Ext.app.Application的类,然后用create创建它的实例来开始应用程序的。而在4.1.1,则可直接调用application方法开始执行应用程序,简化了。调用application方法,其参数是一个配置对象,主要配置项有以下三个:name:用来…
- Hibernate Criterion 在查询方法设计上能够灵活的依据Criteria的特点来方便地进行查询条件的组装.Hibernate设计了CriteriaSpecification作为Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差别在于创建的形式不一样,Criteria是在线的,所…