142 | | var bms = selection.createBookmarks(), |
143 | | fixedBlock = range.fixBlock( true, |
144 | | editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ); |
| 143 | // If we're collapsed between two blocks, check if there's a |
| 144 | // enter block already. |
| 145 | var nodeBefore = |
| 146 | range.startContainer.getChild |
| 147 | && range.startContainer.getChild( range.startOffset - 1 ), |
| 148 | nodeAfter = |
| 149 | range.startContainer.getChild |
| 150 | && range.endContainer.getChild( range.endOffset ), |
| 151 | enterBlock; |
| 152 | if( nodeBefore && nodeBefore.is && nodeBefore.is( enterBlockName ) ) |
| 153 | enterBlock = nodeBefore; |
| 154 | else if ( nodeAfter && nodeAfter.is && nodeAfter.is( enterBlockName ) ) |
| 155 | enterBlock = nodeAfter; |
| 156 | |
| 157 | // 1. If we've already had an enter block, move to the first editing position. |
| 158 | // 2. Otherwise, wrapping with a new enter block. |
| 159 | if ( enterBlock ) |
| 160 | { |
| 161 | range.moveToElementEditStart( enterBlock ); |
| 162 | range.select(); |
| 163 | } |
| 164 | else |
| 165 | { |
| 166 | var bms = selection.createBookmarks(), |
| 167 | fixedBlock = range.fixBlock( true, |
| 168 | editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ); |
146 | | // For IE, we'll be removing any bogus br ( introduce by fixing body ) |
147 | | // right now to prevent it introducing visual line break. |
148 | | if ( CKEDITOR.env.ie ) |
149 | | { |
150 | | var brNodeList = fixedBlock.getElementsByTag( 'br' ), brNode; |
151 | | for ( var i = 0 ; i < brNodeList.count() ; i++ ) |
152 | | if( ( brNode = brNodeList.getItem( i ) ) && brNode.hasAttribute( '_cke_bogus' ) ) |
153 | | brNode.remove(); |
154 | | } |
| 170 | // For IE, we'll be removing any bogus br ( introduce by fixing body ) |
| 171 | // right now to prevent it introducing visual line break. |
| 172 | if ( CKEDITOR.env.ie ) |
| 173 | { |
| 174 | var brNodeList = fixedBlock.getElementsByTag( 'br' ), brNode; |
| 175 | for ( var i = 0 ; i < brNodeList.count() ; i++ ) |
| 176 | if( ( brNode = brNodeList.getItem( i ) ) && brNode.hasAttribute( '_cke_bogus' ) ) |
| 177 | brNode.remove(); |
| 178 | } |