Přejděte na Element v CKEditoru

CKEditor je vynikající WYSIWYG editor, který používáme na Mozilla Developer Network. Máme mnoho vlastních pluginů a děláme vše pro to, aby bylo psaní pro přispěvatele snadné. Jeden trik, který jsem právě zachytil, bylo přeskočení na prvek v editoru podle ID a nastavení kurzoru v rámci tohoto prvku. Zde je návod!

JavaScript

Začnete posunutím prvku do zobrazení v CKEditoru:

var element = editor.document.getById('someHeading');
var range;

if(element) {
    element.scrollIntoView();

    // Thank you S/O
    // http://stackoverflow.com/questions/16835365/set-cursor-to-specific-position-in-ckeditor
    range = editor.createRange();
    range.moveToPosition(element, CKEDITOR.POSITION_AFTER_START);
    editor.getSelection().selectRanges([range]);
}

Když je prvek zobrazen, pokusíte se vložit kurzor na začátek prvku pomocí rozsahu.

Firefox ve skutečnosti vloží kurzor za vás, ale Chrome to neudělá, takže je nutný krok Range.