summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web_editor/static/src')
-rw-r--r--addons/web_editor/static/src/js/backend.js18
1 files changed, 12 insertions, 6 deletions
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);