Report an issue



Manages the focus activity in an editor instance. This class is to be used mainly by UI element coders when adding interface elements that need to set the focus state of the editor.

var focusManager = new CKEDITOR.focusManager( editor );



  • currentActive : domObject

    Indicates the currently focused DOM element that makes the editor activated.

  • hasFocus : Boolean

    Indicates that the editor instance has focus.

    alert( CKEDITOR.instances.editor1.focusManager.hasFocus ); // e.g. true

    Defaults to false

  • private

    _ : Object

    Object used to store private stuff.


  • constructor( editor ) → focusManager

    Creates a focusManager class instance.


    editor : editor

    The editor instance.


  • add( element, isCapture )

    Registers a UI DOM element to the focus manager, which will make the focus manager "hasFocus" once the input focus is relieved on the element. This method is designed to be used by plugins to expand the jurisdiction of the editor focus.


    element : element

    The container (topmost) element of one UI part.

    isCapture : Boolean

    If specified, CKEDITOR.event.useCapture will be used when listening to the focus event.

  • blur( [ noDelay ] )

    Used to indicate that the editor instance has been deactivated by the specified element which has just lost focus.

    Note: This function acts asynchronously with a delay of 100ms to avoid temporary deactivation. Use the noDelay parameter instead to deactivate immediately.

    var editor = CKEDITOR.instances.editor1;


    [ noDelay ] : Boolean

    Immediately deactivate the editor instance synchronously.

    Defaults to false

  • focus( [ currentActive ] )

    Indicates that this editor instance is activated (due to a DOM focus change). The activated state is a symbolic indicator of an active user interaction session.

    Note: This method will not introduce UI focus impact on DOM, it is here to record the editor UI focus state internally. If you want to make the cursor blink inside the editable, use CKEDITOR.editor.focus instead.

    var editor = CKEDITOR.instances.editor1;
    editor.focusManager.focus( editor.editable() );


    [ currentActive ] : element

    The new value of the currentActive property.

  • lock()

    Prevents from changing the focus manager state until the next unlock is called.

  • remove( element )

    Dismisses an element from the focus manager delegations added by add.


    element : element

    The element to be removed from the focus manager.

  • unlock()

    Restores the automatic focus management if lock is called.