Sencha Touch 2:听取两个不同的HTML按钮

时间:2014-04-06 19:57:55

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

在我的嵌套列表中,我有两个html按钮。我已经有一个嵌套列表的监听器,它显示保存两个按钮的detailCard,但我想添加另一个监听器,当按下其中一个按钮时,它会执行某些操作。每个按钮都有不同的功能,因此我无法将其中一个按钮委托给特定功能。有没有办法做类似的事情:

listeners : {
element  : 'element',
delegate : 'button.mybutton',
tap      : function() {
    //...
  }
}

但是对于每个代表做其他事情的多个代表?

1 个答案:

答案 0 :(得分:1)

您可以向按钮添加数据属性并做出相应的反应:

<button data-do="showDetailCard">
<button data-do="anotherAction">

// ...

listeners: {
    tap: {
        element: 'element',
        delegate: 'button',
        fn: 'doAction'
    }
}

// ...

function doAction(event) {
    var do = event.target.dataset.do;
    if (do === 'showDetailCard') {
        // show detail card
    } else if (do === 'anotherAction') {
        // do another action
    }
}