Observer (engine/view/observer)



Abstract base observer class. Observers are classes which listen to DOM events, do the preliminary processing and fire events on the Document objects. Observers can also add features to the view, for instance by updating its status or marking elements which need a refresh on DOM events.



  • readonly

    document : Document

    A reference to the Document object.

  • readonly

    isEnabled : Boolean

    The state of the observer. If it is disabled, no events will be fired.

  • readonly

    view : View

    An instance of the view controller.


  • constructor( view )

    Creates an instance of the observer.


    view : View
  • checkShouldIgnoreEventFromTarget( domTarget ) → Boolean

    Checks whether a given DOM event should be ignored (should not be turned into a synthetic view document event).

    Currently, an event will be ignored only if its target or any of its ancestors has the data-cke-ignore-events attribute. This attribute can be used inside the structures generated by DowncastWriter#createUIElement() to ignore events fired within a UI that should be excluded from CKEditor 5's realms.


    domTarget : Node

    The DOM event target to check (usually an element, sometimes a text node and potentially sometimes a document, too).



    Whether this event should be ignored by the observer.

  • destroy()

    Disables and destroys the observer, among others removes event listeners created by the observer.

  • disable()

    Disables the observer. This method is called before rendering to prevent firing events during rendering.


  • enable()

    Enables the observer. This method is called when the observer is registered to the View and after rendering (all observers are disabled before rendering).

    A typical use case for disabling observers is that mutation observers need to be disabled for the rendering. However, a child class may not need to be disabled, so it can implement an empty method.


  • observe( domElement, name )

    Starts observing the given root element.


    domElement : HTMLElement
    name : String

    The name of the root element.