| 370 | | // Gecko need a key event to 'wake up' the editing |
| 371 | | // ability when document is empty.(#3864) |
| 372 | | var firstNode = domDocument.getBody().getFirst(); |
| 373 | | if ( CKEDITOR.env.gecko |
| 374 | | && firstNode && firstNode.is |
| 375 | | && firstNode.is( 'br' ) && firstNode.hasAttribute( '_moz_editor_bogus_node' ) ) |
| 376 | | { |
| 377 | | var keyEventSimulate = domDocument.$.createEvent( "KeyEvents" ); |
| 378 | | keyEventSimulate.initKeyEvent( 'keypress', true, true, domWindow.$, false, |
| 379 | | false, false, false, 0, 32 ); |
| 380 | | domDocument.$.dispatchEvent( keyEventSimulate ); |
| 381 | | var bogusText = domDocument.getBody().getFirst() ; |
| 382 | | // Compensate the line maintaining <br> if enterMode is not block. |
| 383 | | if ( editor.config.enterMode == CKEDITOR.ENTER_BR ) |
| 384 | | domDocument.createElement( 'br', { attributes: { '_moz_dirty' : "" } } ) |
| 385 | | .replace( bogusText ); |
| 386 | | else |
| 387 | | bogusText.remove(); |
| 388 | | } |
| 389 | | |
| | 409 | // Gecko need a key event to 'wake up' the editing |
| | 410 | // ability when document is empty.(#3864) |
| | 411 | if ( CKEDITOR.env.gecko ) |
| | 412 | { |
| | 413 | var first = body; |
| | 414 | while( first.firstChild ) |
| | 415 | first = first.firstChild; |
| | 416 | |
| | 417 | if( !first.nextSibling |
| | 418 | && ( 'BR' == first.tagName ) |
| | 419 | && first.hasAttribute( '_moz_editor_bogus_node' ) ) |
| | 420 | { |
| | 421 | var keyEventSimulate = domDocument.$.createEvent( "KeyEvents" ); |
| | 422 | keyEventSimulate.initKeyEvent( 'keypress', true, true, domWindow.$, false, |
| | 423 | false, false, false, 0, 32 ); |
| | 424 | domDocument.$.dispatchEvent( keyEventSimulate ); |
| | 425 | var bogusText = domDocument.getBody().getFirst() ; |
| | 426 | // Compensate the line maintaining <br> if enterMode is not block. |
| | 427 | if ( editor.config.enterMode == CKEDITOR.ENTER_BR ) |
| | 428 | domDocument.createElement( 'br', { attributes: { '_moz_dirty' : "" } } ) |
| | 429 | .replace( bogusText ); |
| | 430 | else |
| | 431 | bogusText.remove(); |
| | 432 | |
| | 433 | } |
| | 434 | } |
| | 435 | |