← Gesamte Dokumentation

editor.focus()

Setzt den Tastaturfokus in den Editor, sodass der Benutzer tippen kann, ohne vorher zu klicken. Verwenden Sie die Methode nach dem Erstellen des Editors, nach dem Einfügen von Inhalt per Code oder nach dem Schließen eines Dialogs oder Seitenbereichs, der dem Bearbeitungsbereich den Fokus genommen hat.

Syntax

editor.focus()

Parameter

Keine.

Rückgabewert

Nichts (undefined).

Hinweise zum Verhalten

focus() ist kein dünner Wrapper um den nativen focus-Aufruf des DOM – die Methode berücksichtigt die verschiedenen Modi des Editors und Eigenheiten der Browser bei der Auswahl:

  • Codemodus. Solange der Editor den HTML-Quelltext anzeigt, geht der Fokus an den Code-Editor statt an den Rich-Text-Bereich, sodass der Aufruf in beiden Modi das Richtige tut.
  • Ein ausgewähltes Steuerelement hat Vorrang. Ist gerade ein Steuerelement wie ein Bild ausgewählt, kehrt focus() zurück, ohne etwas zu ändern. Das ist Absicht: So verhindert die Methode, dass ein focus-Aufruf per Code stillschweigend die Bildauswahl des Benutzers (und die zugehörigen Ziehpunkte zur Größenänderung) aufhebt.
  • Der Cursor bleibt erhalten. Manche Browser verwerfen die aktuelle Auswahl, wenn der Fokus in den Bearbeitungsrahmen wechselt. Der Editor stellt den gespeicherten Bereich danach wieder her, sodass der Cursor dort bleibt, wo der Benutzer ihn gelassen hat, statt an den Anfang des Dokuments zu springen.

Anwendungsbeispiel

Den Editor fokussieren, sobald er bereit ist, damit man auf der Seite sofort tippen kann:

var editor1 = new RichTextEditor("#div_editor1");
editor1.focus();

Ein Snippet einfügen und dann den Fokus an den Editor zurückgeben, damit das Tippen nahtlos weitergeht:

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
};

Fokussieren, nachdem ein versteckter Editor eingeblendet wurde. Das Fokussieren eines Elements, das noch display:none ist, bewirkt nichts, blenden Sie es also zuerst ein:

function openComposer() {
    document.getElementById("composer").style.display = "block";
    editor1.focus();
}

Siehe auch