vue.js - vue的v-on:mouseup怎么控制只有鼠标左键响应?

查看:193
本文介绍了vue.js - vue的v-on:mouseup怎么控制只有鼠标左键响应?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我使用了v-on:mouseup的点击事件,结果发现鼠标的右键点击时也响应事件
请问怎么控制只有鼠标左键点击时响应事件?
不用@click,发现@click事件会触发两次,不知道为什么

已经通过event.button判断解决了,谢谢,click为什么触发两次还不知道原因,要是事件冒泡为什么mouseup没事件冒泡呢,下面是代码,就是一个radio的组件

<template>
    <label class="rs_radio_wrap" v-for="radio in radioData" @mouseup="radioCheck(radio)">
        <div class="rs_radio" v-if="!radio.check" :class={'rs_radio_disable':radio.disable}>
        </div>
        <div class="rs_radio rs_radio_checked" v-if="radio.check" :class={'rs_radio_disable':radio.disable}>
            <div class="rs_radio_dot"></div>
        </div>
        <span class="rs_radio_text">{{radio.text}}</span>
        <input type="radio" class="rs_radio_input" :checked="radio.check" :disabled="radio.disable" />
    </label>    
</template>
<script>
    export default{
        props:{
            radioData:Array
        },
        computed:{
        },
        methods:{
            radioCheck(radio){
                let radioState=radio.check;
                if(!radio.disable)
                {
                    this.radioData.forEach(obj=>{
                        if(!obj.disable)
                        {
                            obj.check=false;
                        }
                    })
                    if(!radioState)
                    {
                        radio.check=true;
                    }
                }
            }
        }
    }
</script>

解决方案

可以event.button判断
event.button===0 左键
event.button===1 中键
event.button===2 右键

这篇关于vue.js - vue的v-on:mouseup怎么控制只有鼠标左键响应?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆