Sencha Touch: [недефинирано] не е функция

Опитвам се да получа елемент по име на клас със Sencha Touch

itemswipe: function(dataview, index, element, e) {
    console.log(element.select('.x-list-disclosure'));
}

но връща тази грешка:

TypeError: Резултатът от израза „element.select“ [недефиниран] не е функция.

Ето пълния кодов блок

var list1 = new Ext.List({
    flex: 1,
    cls: 'list_simple',
    sorters: ['firstName', 'group'],
    itemTpl: '{firstName} {lastName}',
    grouped: true,
    groupTpl : [
        '<tpl for=".">',
            '<div class="x-list-group x-group-{id}">',
                '<h3 class="x-list-header"><div class="header">{group}</div></h3>',
                '<div class="x-list-group-items">',
                    '{items}',
                '</div>',
            '</div>',
        '</tpl>'
    ],
    onItemDisclosure: function(record, btn, index) {
        Ext.Msg.alert('Tap', 'Disclose more info for ' + record.get('firstName') + ' ' + record.get('lastName'), Ext.emptyFn);
    },
    listeners: {
        itemtap: function(dataview, index, element, e) {
            console.log('node is tapped');
        },
        itemswipe: function(dataview, index, element, e) {
            console.log(element.select('.x-list-disclosure'));
        }
    },
    store: store
});

(Добавено) Това са генерираните елементи на {items}:

<div class="x-list-group-items">
    <div class="x-list-item x-item">
        <div class="x-list-item-body">Melvin Gilbert</div>
        <div class="x-list-disclosure"></div>
    </div>
    <div class="x-list-item x-item">
        <div class="x-list-item-body">Jeaffrey Gilbert</div>
        <div class="x-list-disclosure"></div>
    </div>
</div>

Някакви идеи?


person Jeaf Gilbert    schedule 22.11.2011    source източник
comment
Изглежда, че се опитвате да получите .x-list-disclosure, но го нямате никъде в кода, който ни показвате.   -  person Kevin Anthony Oppegaard Rose    schedule 22.11.2011
comment
Това е автоматично генериран елемент. Получавам очаквания резултат, ако направя console.log(element). Чудя се дали либът е счупен, но не мисля така.   -  person Jeaf Gilbert    schedule 22.11.2011
comment
каква е стойността на console.log(element); във вашия itemswipe слушател?   -  person JamesHalsall    schedule 22.11.2011
comment
HtmlDivElement с .x-list-item клас. Добавих генерираните елементи на елемент във въпроса.   -  person Jeaf Gilbert    schedule 22.11.2011
comment
Обвийте вашата елементна променлива с извикване на Ext.fly и това ще ви даде Ext.Element представяне на dom елемента. Променливата на елемента е DOM възел, а не екземпляр Ext.Element. Така става Ext.fly(element).select('..')   -  person Stuart    schedule 22.11.2011
comment
Работи, Стюарт! Много благодаря. Моля, поставете отговора и аз ще го маркирам като отговор.   -  person Jeaf Gilbert    schedule 22.11.2011


Отговори (1)


Обвийте вашата елементна променлива с извикване на Ext.fly и това ще ви даде Ext.Element представяне на dom елемента. Променливата на елемента е DOM възел, а не екземпляр Ext.Element. Така става Ext.fly(element).select('..')

person Stuart    schedule 22.11.2011