Vue.js------------------4vue事件

vue事件

一:事件简介

之前都是@click=function,出发单击事件

而@clisck="funciton($event)"可以获得js的原生事件,因为有的时候并不是事件在哪里出发就在哪里处理,那样会很笨

例如扫雷,一个大的div里面包含100个div,难道每个小div都要写一个单击事件?

此时应该把事件绑定在外面的大div上,当内部div的事件冒泡到大的div,既然统一进行处理,你要知道这个事件来自于哪里  

但是还有一个问题,冒泡到你处理的位置,还会继续冒泡么?是的,就算处理了还是会继续冒泡

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./bower_components/vue/dist/vue.min.js"></script>
</head>
<body>
    <!-- 冒泡中 -->
    <!-- <div id="app">
        <div @click="func($event)">
            <input type="button" value="按钮1">
            <input type="button" value="按钮2">
            <input type="button" value="按钮3">
        </div>
    </div> -->

    <!-- 只要不设置停止,就会一直向上冒
    加上.stop才会停止 -->
    <div id="app">
        <div @click="func2">
            <!-- <div @click="func($event)"> -->
            <div @click.stop="func($event)">
                <input type="button" value="按钮1">
                <input type="button" value="按钮2">
                <input type="button" value="按钮3">
            </div>
        </div>
        <!-- 阻止标签的默认行为 -->
        <a href="www.baidu.com" @click.prevent="func3">百度</a>
    </div>


    <script>
        var m = {

        };
        var vm = new Vue({
            el: "#app",
            data: m,
            methods: {
                func: function(event){
                    console.log(event,event.target);
                    console.log("冒泡中");
                    
                    
                },
                func2: function(event){
                    console.log("冒泡中2。。");
                    
                },

                func3: function(){
                    alert("阻止跳转");
                }
                
            }
        });
    </script>
</body>
</html>
View Code

事件加下面的配合的更精准

.prevent 阻止默认的行文

.enter  按enter触发此事件

.left 下面这三个是鼠标的左右键或者中键触发事件

.right

.middle

.once 仅触发一次,就不再触发

.ctrl

.shift

.alt

看十遍不如自己写一遍!巩固基础,纵横开拓!
原文地址:https://www.cnblogs.com/gyxpy/p/13189182.html