                 className: "editor #{classTarget}",
                 ref: 'content',
                 onKeyDown: @onKeyDown,
-                onChange: onTextChange,
+                onChange: @onTextChange,
+                onBlur: @onTextChange,
                 defaultValue: @state.text.value
                 onDragOver: @allowDrop,
                 onDragEnter: @onDragEnter,

                ref: 'html',
                contentEditable: true,
                onKeyDown: @onKeyDown,
                onInput: onHTMLChange,
                onDragOver: @allowDrop,
                onDragEnter: @onDragEnter,
                onDragLeave: @onDragLeave,

                # when dropping an image, input is fired before the image has
                # really been added to the DOM, so we need to also listen to
                # blur event
                onBlur: @onHTMLChange,
                dangerouslySetInnerHTML: {
                    __html: @state.html.value
                }
