editor.focus()
キーボードフォーカスをエディターに移し、ユーザーが先にクリックしなくても入力を始められるようにします。エディターの作成後、プログラムでコンテンツを挿入した後、あるいは編集領域からフォーカスを奪ったダイアログやサイドパネルを閉じた後に使います。
構文
editor.focus()
パラメーター
なし。
戻り値
なし(undefined)。
動作に関する注意
focus() は、ネイティブの DOM の focus 呼び出しを薄く包んだだけのものではありません。エディターのさまざまなモードや、ブラウザーの選択範囲の癖を考慮しています。
- コードモード。エディターが HTML ソースを表示している間は、フォーカスはリッチテキストの領域ではなくコードエディターに送られるので、どちらのモードでもこの呼び出しは正しく動作します。
- 選択されたコントロールが優先されます。画像などのコントロールが現在選択されている場合、
focus()は何も変更せずに戻ります。これは意図的なものです。プログラムによる focus の呼び出しで、ユーザーの画像の選択(とそれに付随するサイズ変更ハンドル)が知らないうちに解除されるのを防いでいます。 - キャレットは保持されます。ブラウザーによっては、フォーカスが編集用のフレームに移ると現在の選択範囲が破棄されます。エディターはその後で保存していた範囲を再適用するので、キャレットは文書の先頭に飛ばず、ユーザーが残した位置にとどまります。
使用例
エディターの準備ができたらすぐにフォーカスし、ページですぐに入力できるようにします。
var editor1 = new RichTextEditor("#div_editor1");
editor1.focus();スニペットを挿入した後、エディターにフォーカスを戻して、自然に入力を続けられるようにします。
document.getElementById("btn_signature").onclick = function () {
editor1.insertHTML("<p>-- <br/>Sent from RichTextEditor</p>");
editor1.focus(); // the button took focus on click; give it back
};非表示だったエディターを表示した後にフォーカスします。まだ display:none の要素にフォーカスしても何も起こらないので、先に表示してください。
function openComposer() {
document.getElementById("composer").style.display = "block";
editor1.focus();
}関連項目
- editor.getSelection() — フォーカスを変えずに、現在の選択範囲を読み取ります。
- editor.setReadOnly(readOnly) — 読み取り専用モードを切り替えます。
- エディターのすべてのメソッド — JavaScript API の全体。