diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js index 940d27d386c..bf06c39034d 100644 --- a/addons/web/static/src/js/views/form/form_controller.js +++ b/addons/web/static/src/js/views/form/form_controller.js @@ -33,6 +33,15 @@ var FormController = BasicController.extend({ this.toolbar = params.toolbar; this.mode = params.mode; }, + /** + * @override + */ + destroy: function () { + if (this.$buttons) { + this.$buttons.find('*').off(); + } + this._super(); + }, //-------------------------------------------------------------------------- // Public diff --git a/addons/web/static/src/js/views/kanban/kanban_controller.js b/addons/web/static/src/js/views/kanban/kanban_controller.js index 420e848e5e4..c74f06d1de1 100644 --- a/addons/web/static/src/js/views/kanban/kanban_controller.js +++ b/addons/web/static/src/js/views/kanban/kanban_controller.js @@ -43,6 +43,11 @@ var KanbanController = BasicController.extend({ // true iff grouped by an m2o field and group_create action enabled this.create_column_enabled = false; }, + destroy: function () { + if (this.$buttons) { + this.$buttons.off(); + } + }, //-------------------------------------------------------------------------- // Public diff --git a/addons/web/static/src/js/views/list/list_controller.js b/addons/web/static/src/js/views/list/list_controller.js index b25b02b4513..713299c19ed 100644 --- a/addons/web/static/src/js/views/list/list_controller.js +++ b/addons/web/static/src/js/views/list/list_controller.js @@ -42,6 +42,12 @@ var ListController = BasicController.extend({ this.noLeaf = params.noLeaf; this.selectedRecords = []; // there is no selected record by default }, + destroy: function () { + if (this.$buttons) { + this.$buttons.find('*').off(); + } + this._super(); + }, //-------------------------------------------------------------------------- // Public