diff --git a/addons/web/static/src/js/libs/jquery.js b/addons/web/static/src/js/libs/jquery.js index 8722025663e..30afa4db274 100644 --- a/addons/web/static/src/js/libs/jquery.js +++ b/addons/web/static/src/js/libs/jquery.js @@ -110,7 +110,8 @@ $.fn.extend({ events = events.split(' '); return this.each(function () { var el = this; - _.each(events, function (evName) { + _.each(events, function (evNameNamespaced) { + var evName = evNameNamespaced.split('.')[0]; var handler = $._data(el, 'events')[evName].pop(); $._data(el, 'events')[evName].unshift(handler); }); diff --git a/addons/web_editor/static/src/js/translator.js b/addons/web_editor/static/src/js/translator.js index 9d1ebe94082..e82ebbb5b81 100644 --- a/addons/web_editor/static/src/js/translator.js +++ b/addons/web_editor/static/src/js/translator.js @@ -207,7 +207,7 @@ var Translate = Widget.extend({ var trans = self.getTranlationObject(this); trans.value = (trans.value ? trans.value : $node.html() ).replace(/[ \t\n\r]+/, ' '); }); - this.$target.parent().prependEvent('click', this, this.__unbind_click); + this.$target.parent().prependEvent('click.translator', this, this.__unbind_click); // attributes @@ -221,14 +221,14 @@ var Translate = Widget.extend({ }); }); - this.$target_attr.prependEvent('mousedown click mouseup', this, this.__translate_attribute); + this.$target_attr.prependEvent('mousedown.translator click.translator mouseup.translator', this, this.__translate_attribute); console.info('Click on CTRL when you click in an translatable area to have the default behavior'); }, unarkTranslatableNode: function () { this.$target.removeClass('o_editable').removeAttr('contentEditable'); - this.$target.parent().off('click', this.__unbind_click); - this.$target_attr.off('mousedown click mouseup', this.__translate_attribute); + this.$target.parent().off('.translator'); + this.$target_attr.off('.translator'); }, save_and_reload: function () { return this.save().then(function () {