diff --git a/addons/web_editor/static/src/js/backend.js b/addons/web_editor/static/src/js/backend.js index 17a2df31c6e..3d3b6cb27ee 100644 --- a/addons/web_editor/static/src/js/backend.js +++ b/addons/web_editor/static/src/js/backend.js @@ -103,17 +103,23 @@ var FieldTextHtmlSimple = widget.extend({ return value; }, focus: function() { - var input = !this.get("effective_readonly") && this.$textarea; - return input ? input.focus() : false; + if (this.get("effective_readonly")) { + return false; + } + // on IE an error may occur when creating range on not displayed element + try { + return this.$content.focusInEnd(); + } catch (e) { + return this.$content.focus(); + }; }, render_value: function() { var value = this.get('value'); this.$textarea.val(value || ''); this.$content.html(this.text_to_html(value)); - // on ie an error may occur when creating range on not displayed element - try { - this.$content.focusInEnd(); - } catch (e) {} + if (this.$content.is(document.activeElement)) { + this.focus(); + } var history = this.$content.data('NoteHistory'); if (history && history.recordUndo()) { this.$('.note-toolbar').find('button[data-event="undo"]').attr('disabled', false);