From caa83ac4a8f656b30563f989d606e36f32ffad95 Mon Sep 17 00:00:00 2001 From: neverland Date: Fri, 21 Jun 2019 14:37:11 +0800 Subject: [PATCH] [bugfix] click outside mixin event binding (#3584) --- packages/mixins/bind-event.js | 3 +++ packages/mixins/click-outside.js | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/mixins/bind-event.js b/packages/mixins/bind-event.js index 8ca15c597..eb6a83321 100644 --- a/packages/mixins/bind-event.js +++ b/packages/mixins/bind-event.js @@ -1,3 +1,6 @@ +/** + * Bind event when mounted or activated + */ import { on, off } from '../utils/dom/event'; export function BindEventMixin(handler) { diff --git a/packages/mixins/click-outside.js b/packages/mixins/click-outside.js index 97fbf67aa..e14860407 100644 --- a/packages/mixins/click-outside.js +++ b/packages/mixins/click-outside.js @@ -1,17 +1,20 @@ +/** + * Listen to click outside event + */ import { on, off } from '../utils/dom/event'; export const ClickOutsideMixin = config => ({ mounted() { - config.handler = event => { + this.clickOutsideHandler = event => { if (!this.$el.contains(event.target)) { this[config.method](); } }; - on(document, config.event, config.handler); + on(document, config.event, this.clickOutsideHandler); }, beforeDestroy() { - off(document, config.event, config.handler); + off(document, config.event, this.clickOutsideHandler); } });