vue的鼠标点击事件和悬停事件

Posted 程码工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的鼠标点击事件和悬停事件相关的知识,希望对你有一定的参考价值。

vue的鼠标点击事件和悬停事件

vue没有悬停事件,可以使用鼠标进入事件和鼠标离开事件的组合来代替。

<template>
    <div>
        <table style="width: 320px; height: 320px; border: 1px solid #999999;" rules="all" @click="onClick">
            <tr v-for="rowN in 4">
                <td v-for="colN in 4" style="text-align: center;" @mouseenter="onEnterTd" @mouseleave="onLeaveTd">rowN
                    + "-" + colN</td>
            </tr>
        </table>
    </div>
</template>
<script>
    export default 
        data() 
            return 
            
        ,
        watch: 
        ,
        mounted() 
        ,
        methods: 
            //鼠标点击的事件。
            onClick(e) 
                // 相关知识点:
                // e.target 是你当前点击的元素。 
                // e.currentTarget 是你绑定事件的元素。
                // 举个例子 假如onClick是绑定在table元素上 那么 e.target是你当前点击的td元素 而e.currentTarget是table元素。
                // getBoundingClientRect()方法返回的是一个矩形对象 它包含四个属性(left、top、right和bottom) 分别表示该元素四边与页面上边和左边的距离。
                var rect = e.currentTarget.getBoundingClientRect();
                console.log("track_onClick_" + (rect.right - rect.left) + "_" + (rect.bottom - rect.top));
            ,
            //鼠标进入的事件。
            onEnterTd(e) 
                var rect = e.currentTarget.getBoundingClientRect();
                console.log("track_onEnterTd_" + (rect.right - rect.left) + "_" + (rect.bottom - rect.top));
            ,
            //鼠标离开的事件。
            onLeaveTd(e) 
                var rect = e.currentTarget.getBoundingClientRect();
                console.log("track_onLeaveTd_" + (rect.right - rect.left) + "_" + (rect.bottom - rect.top));
            
        
    
</script>
<style>
</style>

 

以上是关于vue的鼠标点击事件和悬停事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在点击时禁用鼠标悬停事件?

vue鼠标悬停事件

vue鼠标悬停显示弹窗 如果弹窗在最下边

jQuery中hover事件和click事件嵌套问题

如何测试在悬停/鼠标悬停时调用了 Vue 指令?

鼠标悬停事件的JS问题以显示额外的按钮