忘れないように記録しとこ

カバの樹

要素の外側のクリックを「vue-clickaway」で検出する

2019年9月25日

vue-clickawayとは

vue-clickawayは、モーダルウィンドウを閉じたりドロップダウン選択を非表示にしたりする時に要素の外側をクリックしたことを検出することができるライブラリです。

 

 

インストール

以下のnpmCDNを使ってインストールします。

npm

npm install vue-clickaway --save

CDN

<script src="https://cdn.jsdelivr.net/npm/vue-clickaway@2.2.2/dist/vue-clickaway.min.js"></script>

 

gitリポジトリは以下から取得できます。

https://github.com/simplesmiler/vue-clickaway

 

導入手順

1. ライブラリの取り込み

(1)webpack等の場合 ※モジュール版は未検証です。

import { mixin as clickaway } from 'vue-clickaway';

(2)WEBページの場合

const clickaway = window.VueClickaway.mixin;

2.メソッドを設定

let app = new Vue({
  el: '#app',
  mixins: [ clickaway ],
  data: {
    open: false
  },
  methods: {
    openMenu:function(){
      this.open = true;
    },
    away: function() {
      this.open = false;
    },
  },
});

3. テンプレートを準備

<div id="app">
  <p id="clickaway" v-on-clickaway="away" @click="openMenu">ここをクリックでメニューを開く</p>
  <p>外側をクリックでメニューを閉じる</p>
  <div id="box">
    <ul v-show="open">
      <li>メニュー1</li>
      <li>メニュー2</li>
      <li>メニュー3</li>
      <li>メニュー4</li>
    </ul>
  </div>
</div>

 

サンプル

>>専用ページで確認する

 

さいごに

要素の外側をクリックしたことを検出することができるライブラリです。

今日はこの辺でー

 

  • B!