( editor._.removeAttributes = editor.config.removeFormatAttributes.split( ',' ) );\r
\r
var filter = CKEDITOR.plugins.removeformat.filter;\r
- var ranges = editor.getSelection().getRanges();\r
+ var ranges = editor.getSelection().getRanges( true ),\r
+ iterator = ranges.createIterator(),\r
+ range;\r
\r
- for ( var i = 0, range ; range = ranges[ i ] ; i++ )\r
+ while ( ( range = iterator.getNextRange() ) )\r
{\r
if ( range.collapsed )\r
continue;\r
if ( tagsRegex.test( currentNode.getName() ) )\r
currentNode.remove( true );\r
else\r
+ {\r
currentNode.removeAttributes( removeAttributes );\r
+ editor.fire( 'removeFormatCleanup', currentNode );\r
+ }\r
}\r
\r
currentNode = nextNode;\r
* @example\r
*/\r
CKEDITOR.config.removeFormatAttributes = 'class,style,lang,width,height,align,hspace,valign';\r
+\r
+/**\r
+ * Fired after an element was cleaned by the removeFormat plugin.\r
+ * @name CKEDITOR#removeFormatCleanup\r
+ * @event\r
+ * @param {Object} data.element The element that was cleaned up.\r
+ */\r