Skip to content

Instantly share code, notes, and snippets.

@ColtHands
Created August 16, 2020 18:25
Show Gist options
  • Save ColtHands/ff90fcec252b2a606bf3405a7eae11f8 to your computer and use it in GitHub Desktop.
Save ColtHands/ff90fcec252b2a606bf3405a7eae11f8 to your computer and use it in GitHub Desktop.

Revisions

  1. Aleksey Karpenko created this gist Aug 16, 2020.
    15 changes: 15 additions & 0 deletions vue-click-outside-element.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    Vue.directive('click-outside-element', {
    bind(el, bind, vn) {
    el.cO = event => {
    if (!(el == event.target || el.contains(event.target))) {
    if(vn.context[bind.expression]) {
    vn.context[bind.expression](event)
    }
    }
    }
    document.body.addEventListener('click', el.cO)
    },
    unbind(el) {
    document.body.removeEventListener('click', el.cO)
    }
    })