Событие пожара по гиперссылке в Sencha Touch 2 - PullRequest
1 голос
/ 31 октября 2011

Как бы я запустил событие (я хочу сменить вид карты) из простой старой ссылки html?

Если бы я ссылался на ссылку по идентификатору в разделе управления, то событие не пытался (нажмите, нажмите, нажмите), кажется, срабатывает.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 01 ноября 2011

После отрисовки ссылки вы можете добавить прослушиватель событий следующим образом:

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

ОБНОВЛЕНИЕ

Если вы хотите запустить событие после того, как пользователь нажал нагиперссылку, вы можете просто добавить this.fireEvent('[name of event here]');, но помните о значении ключевого слова this в этой функции, так что у вас будет возможность правильно добавить слушателя ... Это имеет смысл?

1 голос
/ 03 ноября 2011

Добавьте прослушиватель кликов на панель, содержащую ссылку.В примере у тега есть класс 'link'.Вы можете заменить его своим собственным классом / идентификатором, как это делается в jQuery.

listeners: {
    scope: this,
    itemtap: this.onItemtapAction,
    click: {
       element: 'el',
       fn: function (e) {
          if (e.getTarget('a.link')) {
              // Switch cards here
          }
    }
}
0 голосов
/ 03 июля 2016

Я использовал простой Java Script для добавления слушателя к ссылке.

Сначала я создал слушатель «активации» для компонента контейнера:

 ...
 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');
    }
...