2014-12-12 3 views
3

나는 코드의 다음 조각 한 :IE10의 ExtJS 4.1.0 insertSibling 나던 작업이 제대로

 var messageWrapper = { 
      tag: 'div' 
     }; 

     var messageEl = cmp.errorEl.insertSibling(messageWrapper, "after"); 
     cmp.messageEl = messageEl; 

     Ext.Array.each(me.displayProperties, function (property) { 
      var propertyConfig = { 
       tag: 'div', 
       style: { 
        display: 'none' 
       } 
      }; 
      var newElement = messageEl.insertSibling(propertyConfig, "after"); 
      newElement.addCls(property.classes); 

      var changeListener = me.buildChangeListener(newElement, property.name); 
      cmp.addListener('change', changeListener); 
     }); 

여전히 ExtJS로 4.0.7에서 잘 작동하는 데 사용, 크롬에서 잘 작동합니다. 그때는 DOM 객체를받을 것입니다,하지만 난 사용할 수있게되지 않을 것 -

문제는 cmp.errorEl.insertSibling (다 MessageWrapper는, "다음") 반환 IE에서 널 (null), I 추가 true 매개 변수를 추가 할 수 있다는 것입니다 extjs 기능.

수정 방법에 대해 알고 있습니까? 의 ExtJS 4.1.0 프레임 워크의 Ext.dom.Helper (ietable 방법)에 버그가 있습니다 https://fiddle.sencha.com/#fiddle/f1a

+0

를 작동하지 않는 IE의 버전? 가능한 경우 sencha 바이올린을 제공합니다. – Chetan

+0

바이올린이 추가되었습니다. IE 10 (모드 8), extjs 4.1.0 – zibi

답변

3

:

바이올린은 사용할 수 있습니다. 그것을 해결하기 위해이 우선 적용 :

(function() { 

// kill repeat to save bytes 
var detachedDiv = document.createElement('div'); 

    Ext.define('Ext.override.dom.Helper', { 
     override: 'Ext.dom.AbstractHelper', 

     ieTable: function(depth, openingTags, htmlContent, closingTags){ 
      detachedDiv.innerHTML = [openingTags, htmlContent, closingTags].join(''); 

      var i = -1, 
       el = detachedDiv, 
       ns; 
      while (++i < depth) { 
       el = el.firstChild; 
      } 
      // If the result is multiple siblings, then encapsulate them into one fragment. 
      ns = el.nextSibling; 

      if (ns) { 
       el = document.createDocumentFragment(); 
       while (ns) { 
        el.appendChild(ns); 
        ns = ns.nextSibling; 
       } 
      } 
      return el; 
     } 

    }, function() { 
     Ext.ns('Ext.core'); 
     Ext.DomHelper = Ext.core.DomHelper = new this; 
    }); 

}()); 

바이올린 : 그것은 https://fiddle.sencha.com/#fiddle/f1v