Как ни странно, у Ext.Img отсутствует event onload, который сигнализирует о том, что картинка загружена. Добавим это событие сами
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // /app/lv/axp/dom/Img.js Ext.require('Ext.Img'); Ext.define('lv.axp.dom.Img', { extend: 'Ext.Img', constructor: function (config) { this.callParent(arguments); this.addEvents('load'); this.on('afterrender', function () { var me = this; this.getEl().on('load', function (e, el, eOpts) { me.fireEvent('load', e, el, eOpts); }); }); } }); |
this.getEl() вернет DOM-элемент только после того, как компонент отрендерится, поэтому приходится сначала повесить слушателя на afterrender.
Ну и пример использования:
1 2 3 4 5 6 7 8 9 | Ext.require('lv.axp.dom.Img'); Ext.create('lv.axp.dom.Img', { src: 'resources/images/spinner.gif', listeners: { load: function () { Ext.Msg.alert('Alert', 'Image loaded!'); } } }); |
Думаю, заведу репозиторий на гихабе для всяких таких «хаков»
Пока скачать можно тут
0 Комментарии。