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();
有什么建议吗?
答案 0 :(得分:1)
我相信包括IE 6在内的所有主流浏览器都支持document.activeElement属性。如果我理解正确,您需要在用户单击选项卡时从活动表单元素中删除焦点?假设您在单击选项卡时可以访问某种事件,请尝试以下操作:
if(document.activeElement) {
//Call blur() to remove focus from the active (focused) element
document.activeElement.blur();
}
如果您想禁用该字段的所有输入,您还需要为其提供“已禁用”属性。
答案 1 :(得分:1)
我使用了这种解决方法;我创建了一个零高度和零宽度的输入字段,并将焦点移动到此字段以模糊CKEditor字段/实例。