8

Ich arbeite an einer Cordova Hybrid-App und derzeit Probleme mit Windows 8.1 mit Sencha Touch 2. Ich habe ein paar divs auf einer Liste mit einigen Unterelementen. Ich habe einen Tap-Listener definiert. Dies funktioniert gut mit Android und IOS, aber dies funktioniert nicht auf Win8.1 mit Internet Explorer. Ich bekomme immer das oben liegende listitem-Element, nicht die angeklickten Div-Container.Sencha Touch 2: itemtap auf IE nicht Targeting divs

Dies ist das vereinfachte Beispiel:

Ansicht:

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 vom Fass Zuhörer gibt mir immer folgenden:

<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> 

ich alot durch Veranstaltung durchsucht , e, target, aber es gibt keinen Verweis auf den angeklickten Div-Container:/

Vielen Dank im Voraus!

// edit: vereinfachtes Beispiel // ist es im Zusammenhang mit gruppierte: true -> wenn ich dies alles funktioniert auf Kommentar als

erwartet

Antwort

4

es fest - wenn gruppiert: true gesetzt wurde, verursachte es diese unerwarteten Ergebnisse auf IE.

Umgehung: nach Ansicht zeigt: list.updateGrouped()

+0

Eine andere Lösung - einen Browser verwenden, richtig tatsächlich unterstützt Standards. –

+0

Wie ich geschrieben habe: Ich entwickle eine Cordova Hybrid-App für Windows, daher gibt es keine Möglichkeit, ein anderes WebView anstelle von Microsofts zu verwenden – kerosene