Я не могу показать окно, определенное на уровне класса, после его скрытия. Мне нужно использовать показать и скрыть его всякий раз, когда это необходимо.
Вот что я пробовал до сих пор:
isCapsLock Вспомогательная функция для обработки включения/выключения Caps Lock:
function(e) {
e = (e) ? e : window.event;
var charCode = false;
if (e.which) {
charCode = e.which;
} else if (e.keyCode) {
charCode = e.keyCode;
}
var shifton = false;
if (e.shiftKey) {
shifton = e.shiftKey;
} else if (e.modifiers) {
shifton = !!(e.modifiers & 4);
}
if (charCode >= 97 && charCode <= 122 && shifton) {
return true;
}
if (charCode >= 65 && charCode <= 90 && !shifton) {
return true;
}
return false;
}
Ext.define('MyApp.controller.LoginController', {
extend : 'Ext.app.Controller',
views : [ 'notification.CapsLockNotification' ],
refs : [{
ref : 'capsLockNotification',
selector: 'capslocknotification'
}],
init : function() {
this.capsLockNotification = Ext.widget('capslocknotification');
this.control({
'loginform #password' : {
keypress : this.handleCapsLock
}
// control logic goes here
});
},
handleCapsLock : function(field, eOpts) {
var win = this.getCapsLockNotification();
if(ExtUtil.isCapsLock(eOpts)) {
win.show();
} else {
win.hide();
}
}
});
handleCapsLock
. Это очень важно, так как вы оцениваетеwindow
скрытие/показ на основе переданныхeOpts
. Что такоеeOpts
? Есть ли какие-либо дополнительные параметры, которые вы передаете вeOpts
помимо стандартных. Нам нужно это знать. Кроме того, нам также необходимо знать, какExtUtil.isCapsLock()
обрабатывать исключительные случаи. Это работает идеально? - person Varun Achar   schedule 23.10.2012ExtUtil.isCapsLock()
работает правильно, я понял по логам консоли. Хорошо, я также добавил логику управления функцией handleCapsLock. - person talha06   schedule 23.10.2012