zoukankan      html  css  js  c++  java
  • 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

    看十遍不如自己写一遍!巩固基础,纵横开拓!
  • 相关阅读:
    10_SpringBoot集成TkMybatis插件
    Mysql-YUM安装
    docker数据拷贝
    jquery实现倒计时功能
    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
    vue中开发webSocket
    YARN 与Maprd 配置
    js实现轮播图2
    DOM
    js五星好评
  • 原文地址:https://www.cnblogs.com/gyxpy/p/13189182.html
Copyright © 2011-2022 走看看