鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

How to use ImageMap in Nuxt

イメージマップをnuxtjsで使おうと思って試行錯誤した結果。

www.jqueryscript.net

こんな感じでvueファイルを用意して、npm run devにて動作を試したけれど
リロードやリサイズしないと。イメージマップが有効に機能しない。なぜだ?!
nuxtjsだから?
為にしvue単体(ルーターなし)で実行して見たら。問題なく動いた。
またnuxtjsでもトップページで動かしたら動く。
nuxt-linkで遷移後の画面だと動かない。

<template>
  <section class="container">
    <img src="map.png" usemap="#ImageMap" alt="">
    <map name="ImageMap">
      <area shape="rect" coords="549,424,597,456" href="#" alt="" @click="link($event, 22)">
      <area shape="rect" coords="599,424,647,461" href="#" alt="" @click="link($event, 14)">
      <area shape="circle" coords="65,62,36" href="#" alt="">
    </map>
  </section>
</template>

<script>
import $ from 'jquery'
require('image-map')
export default {
  mounted() {
    $('img[usemap]').imageMap()
  },


以下、動かないサンプルのnuxtjsアプリです。

github.com