【问题标题】:sencha touch list tpl event referencesencha touch list tpl 事件参考
【发布时间】:2014-10-20 14:44:00
【问题描述】:

在我的列表视图中,我将addEventListener(别名on)放入我的initialize 事件中

initialize: function (component) {
        component.element.on({
            tap: {
                scope: this,
                fn: 'onTap',
                delegate: 'div.side-itemDelete'
            }
        });
    },

但是如果有更多的delegate(其他带有id或类的元素)我需要绑定一个事件,我该如何处理呢?
这是我的 XTemplate:

new Ext.XTemplate(
    '<div class="side-weatherListItem no-dragging">',
        '<div class="side-itemLocation">',
            '<div>{[values.city.toUpperCase()]}</div>',
            '<div>{[values.text.toUpperCase()]}</div>',
        '</div>',
        '<div class="side-itemTemperature">{temp}°{unit}</div>',
        '<div class="side-itemState">',
            '<div><img src="./resources/img/rain.svg"></div>',
            '<div class="side-itemDate">11:38</div>',
        '</div>',
        '<div class="side-itemDelete" fire="onDelete">', // <<---- here
            '<img src="./resources/img/delete.svg">',
        '</div>',
    '</div>'
),

【问题讨论】:

  • 您要绑定哪些事件?还要显示这个,您是否使用列表?
  • @Darly 是的,我正在使用列表。例如,现在我已经通过delegate: 'div.side-itemDelete' 将一个事件绑定到side-itemDelete,如果我想通过点击事件在div.side-itemTemperature 或更多其他元素上绑定一个事件,我该怎么办?
  • @Proto Bassi 打败了我。侦听器接受多个事件(需要准确的事件数组)。每次制作一个新项目时,所有的事件都会被绑定
  • @Darly 是的,它有效!谢谢!

标签: extjs sencha-touch sencha-touch-2


【解决方案1】:

你需要指定几个监听器:

{
    xtype: 'list',
    listeners: [
        {
            event: 'tap',
            fn: function(){
                console.log('delete');
            },
            element: 'innerElement',
            delegate: '.side-itemDelete'
        },
        {
            event: 'tap',
            fn: function(){
                console.log('locate');
            },
            element: 'innerElement',
            delegate: '.side-itemLocation'
        }
    ]
}

【讨论】:

  • 那么element:"innerElement"element:"element"有什么区别?我看到一些示例不使用此字段
  • 是的,它有效。元素是innerElementelement
  • 在委派时尽量使用 innerElement,否则选择 element。尽量靠近您正在寻找的 div,这将尽可能加快速度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
相关资源
最近更新 更多