Ext.getBody (). Focus () не работает в IE6 - PullRequest
0 голосов
/ 07 января 2010

Ext.getBody().focus() не работает правильно в IE6. Когда пользователь переходит на новую вкладку ExtJS, мне нужно убедиться, что он больше не может печатать на экземпляре CKEditor (скрытом после перехода на новую вкладку), на котором он мог печатать. Следующий код работает в FF, но не в IE6.

for( var instanceName in CKEDITOR.instances ) {
    CKEDITOR.instances[instanceName].focusManager.forceBlur();  // also 
                                                                // not working 
                                                                // in IE6
}
Ext.getBody().focus();

Есть предложения?

Ответы [ 2 ]

1 голос
/ 08 января 2010

Я использовал этот обходной путь; Я создал поле ввода с нулевой высотой и нулевой шириной и переместил фокус на это поле, чтобы размыть поле / экземпляр CKEditor.

1 голос
/ 07 января 2010

Я считаю, что все основные браузеры, включая IE 6, поддерживают свойство document.activeElement. Если я правильно понимаю, вам нужно убрать фокус с активного элемента формы, когда пользователь нажимает на вкладку? Если у вас есть доступ к какому-либо событию при нажатии на вкладку, попробуйте следующее:

if(document.activeElement) {
    //Call blur() to remove focus from the active (focused) element
    document.activeElement.blur(); 
}

Если вы хотите отключить все входные данные для этого поля, вы также должны присвоить ему свойство "disabled".

...