2015-08-31 5 views
1

В ExtJS 5 я получаю предупреждение о том, консольныйExt.EventManager осуждается в ExtJS 5

[W] Ext.EventManager is deprecated. Use Ext.dom.Element#addListener to attach an event listener.

Я использую код заявление сильфон,

Ext.EventManager.on(window, 'beforeunload', function() { 
    //code here 
}); 

Я понимаю, что Ext.EventManager является устаревшим, но как следует ли заменить мой код для работы в extjs 5?

ответ

6

Используйте метод getWin() и добавьте обработчик событий, используя on.

Ext.getWin().on('beforeunload',function(){ 
    //code here 
}); 

Другой возможный вариант - использовать чистый JavaScript.

window.onbeforeunload = function(){ 
    //Code here 
}; 
+0

Вторая одна работа для me..Thanks –

+0

Добро пожаловать Abhijit :) – Gilsha

+0

BTW. Замена для 'Ext.EventManager.on (document, 'keydown', ...' is 'Ext.getDoc(). On ('keydown', ...'. – Nux

0

Вобще:

Ext.getWin().[m]on('beforeunload', function() { 
    //code here 
}); 

Вы могли бы найти, что сами в manual. Формируем документы:

Registers event handlers on DOM elements.

This class is deprecated. Please use the Ext.dom.Element api to attach listeners to DOM Elements. For example:

var element = Ext.get('myId'); 

element.on('click', function(e) { 
    // event handling logic here 
}); 
+0

'window.on ('beforeunload', function () {} 'throwing console error' Uncaught TypeError: window.on не является функцией' –

+0

'window' - это собственный DOM-элемент;' Ext.getWin() 'возвращает оболочку ExtJS. –

+0

Thx, Robert. точнее :) – Tarabass

Смежные вопросы