8

Pracuję nad hybrydową aplikacją Cordova i obecnie napotykam problemy w systemie Windows 8.1 z Sencha Touch 2. Mam kilka elementów div na liście z niektórymi podelementami. Zdefiniowałem słuchacza z podsłuchem. Działa to dobrze z Androidem i IOS, ale to nie działa na Win8.1 z Internet Explorer. Zawsze otrzymuję powyższy element listitem, a nie kliknięte div-containers.Sencha Touch 2: itemtap na IE nie targetowania divs

Jest to uproszczony przykład:

widok:

Ext.define('App.view.MyDataView', { 

xtype: 'mydataview', 
extend: Ext.dataview.List , 

config: { 

    inline: false, 
    title: "myTitle", 

    scrollToTopOnRefresh: false, 

    cls: 'MyDataView', 
    itemCls: 'MyDataViewItem', 
    pressedCls: 'MyDataViewItemPressed', 
    grouped: true, 

    listeners: { 
     tap: { 
      element: 'element', 
      //delegate: '.something', 

      fn: function (e) 
      { 
       console.log(e.target.className) 
      } 
     } 
    }, 
    deferEmptyText: false, 
    infinite: true, 

    variableHeights: true, 
    itemTpl: new Ext.XTemplate(
     [ 

          '<div class="red" style="background-color:red;width:50%">', 
       'red', 
       '<div class="black" style="background-color:black;width:80%">', 
        '<div class="blue" style="background-color:blue;width:30%">blue</div>', 
       'black</div>', 
      '</div>' 
     ].join(''), 
     { 
      compiled: true, 
      getInteractable: function() {}, 
      //some member functions here... 

     } 
    ) 
} 
}); 

e.target na kranu słuchacza zawsze daje mi następujące:

<div class="x-unsized x-list-item WorkingHoursDataViewItem x-has-height x-list-item-tpl" id="ext-simplelistitem-85" style="height: 42px !important; min-height: 42px !important; transform: translate3d(0px, 264px, 0px);"> 
    <div class="x-unsized x-list-disclosure x-item-hidden" id="ext-component-233" style="display: none !important;"></div> 
    <div class="x-innerhtml" id="ext-element-815"> 
     <div class="red" style="width: 50%; background-color: red;"> 
       red 
      <div class="black" style="width: 80%; background-color:black;"> 
       <div class="blue" style="width: 30%; background-color:blue;"> 
          blue 
          </div> 
        </div> 
        black 
        </div> 
      </div> 
       </div> 
      </div> 
     </div> 
    </div> 
    </div> 

przeglądałem wiele poprzez imprezy , e, target, ale nie ma odniesienia do klikniętego pojemnika div:/

Z góry dziękuję!

// edit: uproszczony przykład // jest to związane pogrupowane: true -> jeśli mogę skomentować to się wszystko działa zgodnie z oczekiwaniami

Odpowiedz

4

naprawić go - jeśli pogrupowane: true ustalono, że spowodowane to nieoczekiwane rezultaty w IE.

Obejście: po pokazaniu pogląd: list.updateGrouped()

+0

Innym obejście - używać przeglądarki, która faktycznie obsługuje standardy prawidłowo. –

+0

jak napisałem: Zajmuję się hybrydową aplikacją Cordova dla Windows, więc nie ma opcji użycia innego WebView zamiast Microsofts – kerosene