For complete documentation, please visit the Getting Started page.

CLEditor Version 1.4.5 July 19th, 2014

Additions / Updates:

  • CLEditor now works with CSS Frameworks that use the box-sizing: border-box model.
  • The source code (cleditor.js) was reformatted using a 4 space tab-stop.
  • Added some padding to all popups containing inputs.

Bug Fixes:

  • Removed console.log statement leftover from testing.
  • Fixed problem with the inserthtml command not working in IE11.
  • Fixed problem with buttons using the inserthtml command, always appearing disabled in IE11.
  • When clicking on an image and pressing the backspace key to delete it, IE no longer goes to the previous page.
  • Fixed problems with source mode in IE6 & 7.
  • Fixed problem where the current selection in IE would get offset by a single character when using the inserthtml command to replace a selection.

Table Plugin Version 1.0.4

  • The source code (jquery.cleditor.table.js) was reformatted using a 4 space tab-stop.
  • Added some padding to the popups inputs.

CLEditor Version 1.4.4 November 29th, 2013

Additions / Updates:

  • Added support for Internet Explorer 11.
  • Added focused event.
  • Added blurred event.
  • Added focused method.
  • Added blurred method.

CLEditor Version 1.4.3 June 29th, 2013

Additions / Updates:

  • CLEditor can now be served with a content-type of application/xhtml+xml.

CLEditor Version 1.4.2 June 29th, 2013

Additions / Updates:

  • To allow for bundling of related CLEditor CSS files, the internal imagePath function now looks for a link tag containing cleditor instead of jquery.cleditor.css.
  • The Insert Hyperlink and Paste As Text popup windows are now XHTML compliant and all attribute values are wrapped in quotes.

XHTML Plugin Version 1.0.1

  • Added support for html elements with attributes containing dashes '-'.
    Example: <form action="demo" accept-charset="ISO-8859-1">

CLEditor Version 1.4.1 June 14th, 2013

Bug Fixes:

  • Fixed bug that would prevent changes from being applied to the associated textarea when using recent versions of Chrome.
  • Improved error message handing when a problem occurs executing commands.
  • Toolbar popups no longer inherit the foreground color from the document body.
  • The window resize event handler binding is now namespaced so that it can be unbound using $(window).unbind('.cleditor');

CLEditor Version 1.4.0 June 9th, 2013

It's been awhile, but I finally found some time to show CLEditor a little love. This release is primarily intended to bring CLEditor up to date with recent jQuery changes and maybe fix a bug or two.

Additions / Updates:

  • Added support for all versions of jQuery up to 1.10.1.
  • Removed dependencies on the depreciated jQuery browser object.
  • Changed the width default to auto. This treats the editor as a block element and fills it's parent container.
  • Changed the useCSS default to true.
  • Updated this site; Demo pages now include code samples.

Bug Fixes:

  • Fixed bug that would cause the color drop downs to not work in older versions of Opera.
  • Fixed problem with wrapping of toolbar buttons in Internet Explorer 6/7.

Table Plugin Version 1.0.3

  • Text input widths are now set using an inline style instead of the size attribute to maintain a consistent appearance when using various CSS frameworks (i.e. Bootstrap) that set a default width on all text inputs.

CLEditor Version 1.3.0 October 12th, 2010

With the addition of the following core changes, CLEditor is now capable of supporting multiple source code formats (including HTML, XHTML and BBCode), as well as producing much cleaner output. These features have been exposed as optional properties, methods, callbacks and plug-ins to provide an even greater degree of customization, while resulting in an overall reduction in total bandwidth consumption.

Additions / Updates:

  • Added an updateTextArea optional parameter which is used to supply a callback handler for converting HTML from the iframe into source code for the textarea.
  • Added an updateFrame optional parameter which is used to supply a callback handler for converting source code from the textarea into HTML for the iframe.
  • The html button was renamed to source and the button image was updated.
  • The .htmlMode() method of the cleditor object was renamed to .sourceMode().
  • The textarea and iframe are now updated after the editor loses focus, instead of after every key press and mouse click.
  • The change event is now fired after the editor loses focus, instead of after every key press and mouse click.
  • During initialization, the editor is now constructed off screen and added to the DOM when finished. This change has significantly reduced the number of DOM changes during initialization, resulting in a faster load time.
  • When running under an iPhone, iPod Touch or iPad, all toolbar buttons except the source button will be disabled and the editor will initially appear in source mode. The source button can still be used to preview any HTML that might have been entered.

Bug Fixes:

  • Fixed bug that would prevent the textarea from being updated until after the next key press or mouse click when pasting content into the editor using the context menu.
  • Fixed bug with FireFox that would cause foreground and background color selections starting with #00 not to be applied.
  • Fixed bug with Internet Explorer that would cause all text within the editor to be selected when switching between the source and rich text views.
  • Updated the z-index for the cleditorPopup class so that drop down menus work properly within a jQuery UI dialog.
  • Fixed bug that was causing the editor to not function under FireFox 1.5.
  • Fixed bug that was causing the last input element on popups to be focused instead of the first.

New Plugins:

  • XHTML - This plugin is used to generate Transitional XHTML source and will optionally replace old depreciated HTML tags.
  • BBCode - This plugin is used to generate BBCode source code common in many CMS packages and message boards.

CLEditor Version 1.2.6 September 13th, 2010

  • Resolved issue with buttons appearing disabled in certain browsers until the editor receives focus for the first time.
  • Fixed bug causing Internet Explorer to display the message 'a.range.length is null or not an object' when the editor is not focused during initialization.

CLEditor Version 1.2.5 September 8th, 2010

  • Resolved issue with Internet Explorer that would cause previously typed text to be replaced when executing the insertimage, createlink and inserthtml commands, even when no text was selected.

CLEditor Version 1.2.4 September 5th, 2010

  • Added a workaround for a bug in Internet Explorer that was causing the editor to lose focus and disable the toolbar buttons when clicking below the end of the document.
  • Added a .selectedHTML() method which returns the editor's current selection as an HTML formatted string.

CLEditor Version 1.2.3 September 3rd, 2010

  • Added a 'Paste as Text' button which allows pasting of unformatted plain text.
  • Toolbar buttons are now enabled and disabled based on availability using the browser's queryCommandEnabled command. Note: Firefox will indicate that the cut, copy and paste commands are available but will block execution of these commands. Also, all version of IE have a bug that corrupts the undo/redo stack, therefore these buttons are always disabled for IE.
  • Added a getEnabled callback function for all button definitions to provide a method for plug-in developers to enable/disable buttons based on availability.
  • Added a docType property which sets the document type for improved cross browser rendering. The default is HTML 4.01 Transitional.
  • Resolved issue that was causing a link tag to be generated with an empty href attribute when the docCSSFile property was an empty string. In certain situations, this would appear to load the page twice.
  • Resolved issue that was preventing font changes from being applied in Opera.

CLEditor Version 1.2.2 August 15th, 2010

  • Removed the .restoreSelection() method.
  • Renamed the .resizeControls() method to .refresh().
  • Resolved issues related to initializing a hidden editor then showing it at a later time.
  • Resolved issues related to re-parenting an editor.
  • The current selection and caret position under Internet Explorer are now internally managed and properly restored after the editor loses and gains focus. This change eliminates the need for the .restoreSelection() method and causes Internet Explorer to behave more like every other browser.
  • Added a docCSSFile property to allow styling of the document contained within the editor.
  • Reduced total bandwidth consumption to just over 9K.

Table Plugin Version 1.0.2

  • Removed call to the .restoreSelection() method.

CLEditor Version 1.2.1 August 7th, 2010

  • Resolved issue causing font size selections to be improperly applied.
  • Resolved issue causing the browse button to not function for file input elements added to popup plug-ins.
  • Resolved issue causing the .cleditorList class grouping selector to leaking out into the page.
  • When overriding the default colors, the color selection popup is now sized to better fit it contents.
  • For browsers that do not support the cut, copy and paste commands, a more informative message is now displayed.
  • All script tags are now HTML encoded to prevent script injection attacks in html mode.

Table Plugin Version 1.0.1

  • Added a <br /> element after the closing </table> tag to allow caret positioning at the end of the document.

CLEditor Version 1.2 July 29th, 2010


  • Added a $(selector).cleditor(options) method to create cleditor instances the jQuery way.
  • Added a defaultOptions property to allow option overrides at a global level.
  • Added a buttons property to provide access the internal button definitions.
  • Added a useCSS option to force the editor to use CSS to style HTML when possible.
  • Added a disabled property which is true if the editor is disabled; otherwise false.
  • Added a disable() method to disable or enable the editor.
  • Added a change event that is triggered when the contents of the editor have changed.
  • Added a change() method to simplify the binding of the change event.
  • Added a clear() method to clear the editor.
  • Added a execCommand() method to execute design mode commands
  • Added a hidePopups() method to hide all popups.
  • Added a showMessage() method to show a popup messages inside the editor.
  • Added a restoreSelection() method to restore the previous selection after focusing another control.
  • Added support for custom plugin development.
  • Added an HTML table plugin.
  • Added an icon plugin.


  • Removed the $.cleditor(id, options) constructor function.
  • Removed the name option used to name the editor.
  • Removed all class names from options.
  • Removed all background-image urls from the css file.

Other Changes

  • All image files are now assumed to be in the images subfolder located in the same folder as the jquery.cleditor.css file.
  • All javascript alerts have been replaced with popup messages.
  • All javascript prompts have been replaced with custom popups.
  • Code optimization and cleanup.
  • Bug fixes.
  • For security reasons, some browsers do not support script driven access to the clipboard. When a user clicks the cut, copy or paste buttons on these browsers, a popup message is displayed stating this. Users can still interact with the clipboard using the keyboard and context menus.

CLEditor Version 1.1 July 13th, 2010

  • The onkeyup and onmouseup events are now used to keep the editor and textarea in sync. Previously, the onblur event was used and was not consistently being fired across all browsers.

CLEditor Version 1.0 July 11th, 2010

  • Initial Release

Help support CLEditor with your PayPal donation:


To request new features or just get some help with CLEditor, please visit our discussion group.

You can also visit our open source project hosted on Google Code to report bugs.