Как выбрать элементы в ExtJS? - PullRequest
4 голосов
/ 12 ноября 2010

У меня есть страница ExtJS, которая выводит следующий DOM.

Я хочу выбрать определенный элемент, чтобы я мог ответить на щелчок по нему.

Однако следующий код никогда не выбирал элементы, созданные с помощью библиотеки extJS. JQuery также не может их выбрать.

ExtJS даже не может найти элемент, определенный в элементе <body> в самом файле HTML. Однако JQuery действительно может выбрать элемент, определенный в элементе <body>.

Я читал это руководство , которое, кажется, указывает на то, что не должно быть никаких проблем с использованием Ext.get() и Ext.select() для получения элементов, однако, как показывает следующий код, элементы никогда выбран.

Как выбрать элемент в ExtJS?

var members = Ext.select('x-panel');
for (var i = members.length - 1; i >= 0; i--){
   element = members[i];
   element.on('click', function() { alert('test');})
};

alt text alt text

Ответы [ 3 ]

4 голосов
/ 12 ноября 2010

Попробуйте Ext.select('.x-panel') с точкой в ​​селекторе, которая требуется для выбора по имени класса.

2 голосов
/ 15 ноября 2012

bmoeskau правильно, вы можете использовать Ext.select ('. X-panel'), который возвращает коллекцию div с классом x-panel .

Обратите внимание, что Ext.get() просто возвращает один элемент, поэтому, если вы хотите получить несколько совпадений, вы должны использовать Ext.select () или Ext.query ().

Более того, Ext.select () возвращает Ext.CompositeElement, хотя в документе нет списка, но он поддерживает все методы Ext.Element, поэтому ваш пример можно просто записать в виде:

Ext.select('.x-panel').on('click', function(){ alert('test') });

Приведенный выше код добавит обработчик событий для операции щелчка к каждой x-панели .

1 голос
/ 15 ноября 2010

Использование:

Ext.get(el); 

, если вам нужно получить элемент flyweight, используйте:

Ext.fly(el);

Подробнее см. Документацию API для объекта Static Ext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...