From 70b0af1375d137f06bc4d9d47ab8dbcaf24180fa Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 18 Jun 2012 09:34:31 +0200 Subject: [PATCH] [IMP] jQuery exposes focusin and focusout, use that instead of its manual implementation bzr revid: xmo@openerp.com-20120618073431-gmeo349oskbld53t --- addons/web/static/src/js/view_form.js | 34 +++++++++++---------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d1dd352bae3..b9aa00e4825 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2669,29 +2669,23 @@ openerp.web.form.One2ManyList = openerp.web.ListView.List.extend({ self.setup_save_on_row_blur(); }); }, - bind_blur_focus: function (new_row, onblur, onfocus) { - if (new_row.addEventListener) { - new_row.addEventListener('blur', onblur, true); - new_row.addEventListener('focus', onfocus, true); - } else { - new_row.onfocusout = onblur; - new_row.onfocusin = onfocus; - } - }, setup_save_on_row_blur: function () { var self = this; var form = this.edition_form; - this.bind_blur_focus(this.edition_form.$element[0], function () { - self._save_row_timeout = setTimeout(function () { - if (form.widget_is_stopped) { - // Saved or cancelled already, maybe? - return; - } - self.view.ensure_saved(); - }, 0); - }, function () { - clearTimeout(self._save_row_timeout); - delete self._save_row_timeout; + this.edition_form.$element.bind({ + focusout: function () { + self._save_row_timeout = setTimeout(function () { + if (form.widget_is_stopped) { + // Saved or cancelled already, maybe? + return; + } + self.view.ensure_saved(); + }, 0); + }, + focusin: function () { + clearTimeout(self._save_row_timeout); + delete self._save_row_timeout; + } }); } });