前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mouseHook vue 鼠标移动hook

mouseHook vue 鼠标移动hook

作者头像
copy_left
发布2020-04-09 11:49:54
1.6K0
发布2020-04-09 11:49:54
举报
文章被收录于专栏:方球方球

chart.gif

使用例子
代码语言:javascript
复制
<template>
  <div class="home" ref='element'>

    <div ref='hoverEle' >
      <Card style='margin: 20% auto; width: 600px' title='' >
        
        <div v-for='(value, key) of state' :key='key'>
          {{ key }} : {{ value }}
        </div>

      </Card>
    </div>
    
  </div>
</template>

<script>
// import { ref } from '@vue/composition-api'
import mouseHook from '@/hooks/mouseHook'

export default { 

  setup(){
 
    const state = mouseHook()
   
    return {
      
      state
      
    }
    

  }

}
</script>
实现
代码语言:javascript
复制
import { ref, onMounted, onUnmounted } from '@vue/composition-api'


/**
 * 鼠标移动监听 hook
 * @returns { ref } state 数据对象
 * 
 */
export default function mouseHook(){
    const state = ref({})
    

    const moveHandler = event => {

        const { screenX, screenY, clientX, clientY, pageX, pageY } = event;
        state.value = { screenX, screenY, clientX, clientY, pageX, pageY }

    }
    
    onMounted(() => {
        document.addEventListener('mousemove', moveHandler)
    })
    
    onUnmounted(() =>{
        document.removeEventListener('mousemove', moveHandler)
    })


    return state
    
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用例子
  • 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档