来自Sencha Touch 2中超链接的火灾事件

时间:2011-10-31 19:35:46

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

如何从普通的旧HTML链接中激活一个事件(我想切换卡片视图)?

如果我在控件部分按ID引用链接,则我尝试触摸的任何事件(点击,点按)都没有。

谢谢!

3 个答案:

答案 0 :(得分:2)

渲染链接后,您可以通过以下方式添加事件侦听器:

Ext.get('[link id here]').on('click', function(){...}, this);

<强>更新

如果您想在用户点击超链接时触发事件,您只需添加this.fireEvent('[name of event here]');但请注意此函数中的this关键字含义,这样您就可以添加侦听器适当地......它有意义吗?

答案 1 :(得分:1)

向包含该链接的面板添加单击侦听器。在示例中,标签具有“链接”类。您可以用自己的类/ id替换它,因为它是在jQuery中完成的。

listeners: {
    scope: this,
    itemtap: this.onItemtapAction,
    click: {
       element: 'el',
       fn: function (e) {
          if (e.getTarget('a.link')) {
              // Switch cards here
          }
    }
}

答案 2 :(得分:0)

我使用简单的Java Script为链接添加了一个监听器。

首先,我为容器组件创建了一个“activate”侦听器:

 ...
 listeners: {
        activate: function (newActiveItem, container, oldActiveItem, eOpts) {
            this.onActivate(newActiveItem, container, oldActiveItem, eOpts);
        }
    }
...

这是我的功能:

onActivate: function (newActiveItem, mainNavView, oldActiveItem, eOpts) {
        var me = this;

        document.getElementById('logOutLink').addEventListener("click",
           function(){
               me.onLogOut();
           }, false);
       },
onLogOut:function(){
        alert('log out');
    }