javascript - Sencha 触摸 2 : itemtap on IE not targeting divs

标签 javascript cordova internet-explorer sencha-touch windows-8.1

我正在开发一个 Cordova 混合应用程序,目前在 Windows 8.1 和 Sencha Touch 2 上遇到问题。我在一个带有一些子元素的列表项上得到了一些 div。我定义了一个点击监听器。这适用于 Android 和 IOS,但不适用于 Win8.1 和 Internet Explorer。我总是得到上面说谎的列表项元素,而不是点击的 div 容器。

这是简化的例子:

查看:

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 on tap 监听器总是给我以下内容:

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

我浏览了很多事件、e、目标,但没有对单击的 div 容器的引用:/

提前致谢!

//编辑:简化示例 //它与 grouped:true 有关 -> 如果我注释掉它,一切都按预期工作

最佳答案

修复它 - 如果设置了 grouped: true,它会在 IE 上导致意外结果。

解决方法:显示 View 后:list.updateGrouped()

关于javascript - Sencha 触摸 2 : itemtap on IE not targeting divs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31405136/

相关文章:

javascript - 无法在 Cordova 内使用postMessage

html - 表格在 IE7-9 中布局不正确

javascript - 由于某种原因我无法调用 setup()

javascript - 动态创建的元素不会触发触发器

javascript - 在浏览器中实时输入数学

javascript - jQuery 中的动画切换未链接

android - 带有 Cordova 的 Braintree 用于在应用程序中购买以进行功能升级

cordova - PhoneGap 2.0 Splash 始终使用默认设置

javascript - 如何开发和部署 IE 11 的附加组件

html - IE9 中的@keyframes 规则