Report an issue
Class

CKEDITOR.dom.document

class

Represents a DOM document.

var document = new CKEDITOR.dom.document( document );

Filtering

Properties

  • readonly inherited

    $ : Object

    The native DOM object represented by this class instance.

    var element = new CKEDITOR.dom.element( 'span' );
    alert( element.$.nodeType ); // '1'
    
  • readonly

    type : Number

    The node type. This is a constant value set to CKEDITOR.NODE_DOCUMENT.

    Defaults to CKEDITOR.NODE_DOCUMENT

Static properties

Methods

  • inherited

    constructor( nativeDomObject ) → domObject

    Creates a domObject class instance.

    Parameters

    nativeDomObject : Object

    A native DOM object.

    Returns

    domObject
  • appendStyleSheet( cssFileUrl )

    Appends a CSS file to the document.

    CKEDITOR.document.appendStyleSheet( '/mystyles.css' );
    

    Parameters

    cssFileUrl : String

    The CSS file URL.

  • appendStyleText( cssStyleText ) → Object

    Creates a CSS stylesheet and inserts it into the document.

    Parameters

    cssStyleText : Object

    {String} CSS style text.

    Returns

    Object

    The created DOM native stylesheet object.

  • inherited

    capture()

    Register event handler under the capturing stage on supported target.

  • inherited

    clearCustomData()

    Removes any data stored in this object. To avoid memory leaks we must assure that there are no references left after the object is no longer needed.

  • createElement( name, [ attributesAndStyles ] ) → element

    Creates a CKEDITOR.dom.element instance in this document.

    Parameters

    name : String

    The name of the element.

    [ attributesAndStyles ] : Object

    Returns

    element
  • createText( text ) → element

    Creates a CKEDITOR.dom.text instance in this document.

    Parameters

    text : String

    Value of the text node.

    Returns

    element
  • inherited

    define( name, meta )

    Predefine some intrinsic properties on a specific event name.

    Parameters

    name : String

    The event name

    meta : Object
  • inherited

    equals( object ) → Boolean

    Determines whether the specified object is equal to the current object.

    var doc = new CKEDITOR.dom.document( document );
    alert( doc.equals( CKEDITOR.document ) );   // true
    alert( doc == CKEDITOR.document );          // false
    

    Parameters

    object : Object

    The object to compare with the current object.

    Returns

    Boolean

    true if the object is equal.

  • since 4.3.0

    find( selector ) → nodeList

    Wrapper for querySelectorAll. Returns a list of elements within this document that match the specified selector.

    Note: The returned list is not a live collection (like the result of native querySelectorAll).

    Parameters

    selector : String

    A valid CSS selector.

    Returns

    nodeList
  • since 4.3.0

    findOne( selector ) → element

    Wrapper for querySelector. Returns the first element within this document that matches the specified selector.

    Parameters

    selector : String

    A valid CSS selector.

    Returns

    element
  • inherited

    fire( eventName, [ data ], [ editor ] ) → Boolean | Object

    Fires an specific event in the object. All registered listeners are called at this point.

    someObject.on( 'someEvent', function() { ... } );
    someObject.on( 'someEvent', function() { ... } );
    someObject.fire( 'someEvent' );             // Both listeners are called.
    
    someObject.on( 'someEvent', function( event ) {
        alert( event.data );                    // 'Example'
    } );
    someObject.fire( 'someEvent', 'Example' );
    

    Parameters

    eventName : String

    The event name to fire.

    [ data ] : Object

    Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.

    [ editor ] : editor

    The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.

    Returns

    Boolean | Object

    A boolean indicating that the event is to be canceled, or data returned by one of the listeners.

  • inherited

    fireOnce( eventName, [ data ], [ editor ] ) → Boolean | Object

    Fires an specific event in the object, releasing all listeners registered to that event. The same listeners are not called again on successive calls of it or of fire.

    someObject.on( 'someEvent', function() { ... } );
    someObject.fire( 'someEvent' );         // Above listener called.
    someObject.fireOnce( 'someEvent' );     // Above listener called.
    someObject.fire( 'someEvent' );         // No listeners called.
    

    Parameters

    eventName : String

    The event name to fire.

    [ data ] : Object

    Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.

    [ editor ] : editor

    The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.

    Returns

    Boolean | Object

    A booloan indicating that the event is to be canceled, or data returned by one of the listeners.

  • focus()

    Moves the selection focus to this document's window.

  • getActive() → element

    Returns the element that is currently designated as the active element in the document.

    Note: Only one element can be active at a time in a document. An active element does not necessarily have focus, but an element with focus is always the active element in a document.

    Returns

    element

    Active element or null if an IE8-9 bug is encountered. See #10030.

  • getBody() → element

    Gets the <body> element for this document.

    var element = CKEDITOR.document.getBody();
    alert( element.getName() ); // 'body'
    

    Returns

    element

    The <body> element.

  • getByAddress( address, [ normalized ] )

    Gets a node based on its address. See CKEDITOR.dom.node.getAddress.

    Parameters

    address : Array
    [ normalized ] : Boolean

    Defaults to false

  • getById( elementId ) → element

    Gets an element based on its ID.

    var element = CKEDITOR.document.getById( 'myElement' );
    alert( element.getId() ); // 'myElement'
    

    Parameters

    elementId : String

    The element ID.

    Returns

    element

    The element instance, or null if not found.

  • inherited

    getCustomData( key ) → Object

    Gets the value set to a data slot in this object.

    var element = new CKEDITOR.dom.element( 'span' );
    alert( element.getCustomData( 'hasCustomData' ) );      // e.g. 'true'
    alert( element.getCustomData( 'nonExistingKey' ) );     // null
    

    Parameters

    key : String

    The key used to identify the data slot.

    Returns

    Object

    This value set to the data slot.

  • getDocumentElement() → element

    Gets the DOM document element for this document.

    Returns

    element

    The DOM document element.

  • getElementsByTag( tagName ) → nodeList

    Gets elements list based on a given tag name.

    Parameters

    tagName : String

    The element tag name.

    Returns

    nodeList

    The nodes list.

  • getHead() → element

    Gets the <head> element for this document.

    var element = CKEDITOR.document.getHead();
    alert( element.getName() ); // 'head'
    

    Returns

    element

    The <head> element.

  • inherited

    getPrivate() → Object

    Gets the private _ object which is bound to the native DOM object using getCustomData.

    var elementA = new CKEDITOR.dom.element( nativeElement );
    elementA.getPrivate().value = 1;
    ...
    var elementB = new CKEDITOR.dom.element( nativeElement );
    elementB.getPrivate().value; // 1
    

    Returns

    Object

    The private object.

  • getSelection() → selection

    Gets the current selection in context of the document's body element.

    var selection = CKEDITOR.instances.editor1.document.getSelection();
    alert( selection.getType() );
    

    Returns

    selection

    A selection object.

  • inherited

    getUniqueId() → Number

    Gets an ID that can be used to identify this DOM object in the running session.

    Note: This method does not work on text nodes prior to Internet Explorer 9.

    Returns

    Number

    A unique ID.

  • getWindow() → window

    Gets the window object that stores this document.

    Returns

    window

    The window object.

  • inherited

    hasListeners( eventName ) → Boolean

    Checks if there is any listener registered to a given event.

    var myListener = function() { ... };
    someObject.on( 'someEvent', myListener );
    alert( someObject.hasListeners( 'someEvent' ) );    // true
    alert( someObject.hasListeners( 'noEvent' ) );      // false
    

    Parameters

    eventName : String

    The event name.

    Returns

    Boolean
  • inherited

    on( eventName, listenerFunction, [ scopeObj ], [ listenerData ], [ priority ] ) → Object

    Registers a listener to a specific event in the current object.

    someObject.on( 'someEvent', function() {
        alert( this == someObject );        // true
    } );
    
    someObject.on( 'someEvent', function() {
        alert( this == anotherObject );     // true
    }, anotherObject );
    
    someObject.on( 'someEvent', function( event ) {
        alert( event.listenerData );        // 'Example'
    }, null, 'Example' );
    
    someObject.on( 'someEvent', function() { ... } );                       // 2nd called
    someObject.on( 'someEvent', function() { ... }, null, null, 100 );      // 3rd called
    someObject.on( 'someEvent', function() { ... }, null, null, 1 );        // 1st called
    

    Note: CKEditor's event system has a limitation that one function cannot be used as a listener for the same event more than once. Hence, to reuse it with multiple listeners, it should be wrapped into additional wrapper function:

    function listener( evt ) { ... };
    
    someObject.on( 'someEvent', function() {
        listener();
    } );
    
    someObject.on( 'someEvent', function( evt ) {
        listener( evt );
    } );
    

    Parameters

    eventName : String

    The event name to which listen.

    listenerFunction : Function

    The function listening to the event. A single CKEDITOR.eventInfo object instanced is passed to this function containing all the event data.

    [ scopeObj ] : Object

    The object used to scope the listener call (the this object). If omitted, the current object is used.

    [ listenerData ] : Object

    Data to be sent as the CKEDITOR.eventInfo.listenerData when calling the listener.

    [ priority ] : Number

    The listener priority. Lower priority listeners are called first. Listeners with the same priority value are called in registration order.

    Defaults to 10

    Returns

    Object

    An object containing the removeListener function, which can be used to remove the listener at any time.

  • inherited

    once()

    Similiar with on but the listener will be called only once upon the next event firing.

    CKEDITOR.event.on

  • inherited

    removeAllListeners()

    Removes any listener set on this object.

    To avoid memory leaks we must assure that there are no references left after the object is no longer needed.

  • inherited

    removeCustomData( key ) → Object

    Removes the value in the data slot under the given key.

    Parameters

    key : String

    Returns

    Object

    Removed value or null if not found.

  • inherited

    removeListener( eventName, listenerFunction )

    Unregisters a listener function from being called at the specified event. No errors are thrown if the listener has not been registered previously.

    var myListener = function() { ... };
    someObject.on( 'someEvent', myListener );
    someObject.fire( 'someEvent' );                 // myListener called.
    someObject.removeListener( 'someEvent', myListener );
    someObject.fire( 'someEvent' );                 // myListener not called.
    

    Parameters

    eventName : String

    The event name.

    listenerFunction : Function

    The listener function to unregister.

  • chainable inherited

    setCustomData( key, value ) → domObject

    Sets a data slot value for this object. These values are shared by all instances pointing to that same DOM object.

    Note: The created data slot is only guaranteed to be available on this unique DOM node, thus any wish to continue access to it from other element clones (either created by clone node or from innerHtml) will fail. For such usage please use CKEDITOR.dom.element.setAttribute instead.

    Note: This method does not work on text nodes prior to Internet Explorer 9.

    var element = new CKEDITOR.dom.element( 'span' );
    element.setCustomData( 'hasCustomData', true );
    

    Parameters

    key : String

    A key used to identify the data slot.

    value : Object

    The value to set to the data slot.

    Returns

    domObject

    This DOM object instance.

  • since 3.5.0

    write( html )

    Defines the document content through document.write. Note that the previous document content will be lost (cleaned).

    document.write(
        '<html>' +
            '<head><title>Sample Document</title></head>' +
            '<body>Document content created by code.</body>' +
        '</html>'
    );
    

    Parameters

    html : String

    The HTML defining the document content.

  • since 4.3.0 private

    _getHtml5ShivFrag() → Object

    Internet Explorer 8 only method. It returns a document fragment which has all HTML5 elements enabled.

    Returns

    Object

    DocumentFragment

Static methods

  • mixed static

    implementOn( targetObject )

    Implements the CKEDITOR.event features in an object.

    var myObject = { message: 'Example' };
    CKEDITOR.event.implementOn( myObject );
    
    myObject.on( 'testEvent', function() {
        alert( this.message );
    } );
    myObject.fire( 'testEvent' ); // 'Example'
    

    Parameters

    targetObject : Object

    The object into which implement the features.