Changeset 3816


Ignore:
Timestamp:
07/06/09 14:48:56 (5 years ago)
Author:
garry.yao
Message:

Fixing #3864: Firefox document is not editable after inserting element on a fresh page.

Location:
CKEditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r3812 r3816  
    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    22<!-- 
    33Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. 
     
    9696                <li><a href="http://dev.fckeditor.net/ticket/3876">#3876</a> : Changed dialog checkbox and radio labels to explicit labels.</li> 
    9797                <li><a href="http://dev.fckeditor.net/ticket/3843">#3843</a> : Fixed context submenu position in IE 6 & 7 RTL.</li> 
     98                <li><a href="http://dev.fckeditor.net/ticket/3864">#3864</a> : [FF]Document is not editable after inserting element on a fresh page.</li> 
    9899        </ul> 
    99100        <h3> 
  • CKEditor/trunk/_source/plugins/wysiwygarea/plugin.js

    r3794 r3816  
    338338                                                domWindow       = editor.window         = new CKEDITOR.dom.window( domWindow ); 
    339339                                                domDocument     = editor.document       = new CKEDITOR.dom.document( domDocument ); 
     340 
     341                                                // Gecko need a key event to 'wake up' the editing 
     342                                                // ability when document is empty.(#3864) 
     343                                                var firstNode = domDocument.getBody().getFirst(); 
     344                                                if ( CKEDITOR.env.gecko 
     345                                                        && firstNode && firstNode.is 
     346                                                        && firstNode.is( 'br' ) && firstNode.hasAttribute( '_moz_editor_bogus_node' ) ) 
     347                                                { 
     348                                                        var keyEventSimulate = domDocument.$.createEvent( "KeyEvents" ); 
     349                                                        keyEventSimulate.initKeyEvent( 'keypress', true, true, domWindow.$, false, 
     350                                                                false, false, false, 0, 32 ); 
     351                                                        domDocument.$.dispatchEvent( keyEventSimulate ); 
     352                                                        var bogusText = domDocument.getBody().getFirst() ; 
     353                                                        // Compensate the line maintaining <br> if enterMode is not block. 
     354                                                        if ( editor.config.enterMode == CKEDITOR.ENTER_BR ) 
     355                                                                domDocument.createElement( 'br', { attributes: { '_moz_dirty' : "" } } ) 
     356                                                                        .replace( bogusText ); 
     357                                                        else 
     358                                                                bogusText.remove(); 
     359                                                } 
    340360 
    341361                                                // Gecko/Webkit need some help when selecting control type elements. (#3448) 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy