0

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();

助言がありますか?

4

2 に答える 2

1

この回避策を使用しました。高さゼロ、幅ゼロの入力フィールドを作成し、このフィールドにフォーカスを移動して、CKEditor フィールド/インスタンスをぼかします。

于 2010-01-07T21:52:00.580 に答える
1

IE 6 を含むすべての主要なブラウザーが document.activeElement プロパティをサポートしていると思います。私の理解が正しければ、ユーザーがタブをクリックしたときに、アクティブなフォーム要素からフォーカスを外す必要がありますか? タブがクリックされたときに何らかのイベントにアクセスできると仮定して、これを試してください:

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

そのフィールドへのすべての入力を無効にする場合は、「無効」プロパティも指定します。

于 2010-01-07T20:54:31.840 に答える