• vue 事件修饰符


    常用事件修饰符

    • .stop 阻止冒泡
    <template>
        <div class="app">
            <div class="bigBox" @click="testClick('bigBox')">
                <div class="box" @click="testClick('box')">
                    <button class="btn" @click="testClick('btn')">click</button>
                    <button class="btn" @click.stop="testClick('btn')">click</button>
                </div>
            </div>
        </div>
    </template>
    
    <script>
        export default {
            name: 'App',
            methods: {
                testClick (className) {
                    console.log(className);
                }
            }
        }
    </script>
    
    <style>
        .bigBox {
             300px;
            height: 300px;
            background-color: #ccc;
        }
    
        .box {
             150px;
            height: 150px;
            background-color: #f00;
        }
    </style>
    
    
    • .prevent 阻止默认行为 (比如点击a标签跳转页面)
    <template>
        <div class="app">
            <p> <a href="https://www.qq.com" @click="testPrevent">没有阻止默认行为</a> </p>
            <p> <a href="https://www.qq.com" @click.prevent="testPrevent">阻止了默认行为</a> </p>
        </div>
    </template>
    
    <script>
        export default {
            name: 'App',
            methods: {
                testPrevent() {
                    console.log("默认行为被阻止了");
                }
            }
        }
    </script>
    
    • .once 只绑定一次
    <template>
        <div class="app">
            <p><button @click="testBind">普通绑定</button></p>
            <p><button @click.once="testBind">只绑定一次</button></p>
        </div>
    </template>
    
    <script>
        export default {
            name: 'App',
            methods: {
                testBind() {
                    alert("再点一次试试, 看还有没有");
                }
            }
        }
    </script>
    

    了解

    • .capture 监听事件时, 使用事件捕获模式(从外到内)

    • .self 绑定该事件的元素本身才能触发事件(本元素的子元素不能触发)

    • .stop.self 的区别: .stop能够完全阻止冒泡, 而 .self 只能阻止本元素的冒泡

    最后

    文明浏览,体现个人素质, 不喜勿喷, 谢谢!! ^_^

  • 相关阅读:
    显示和隐藏密码
    如何给input的右上角加个清除的按钮?
    手机号中间四位用*号代替
    利用JS+正则表达式获取URL的GET数据
    腾讯QQ头像/QQ网名等相关获取API接口
    jqurey 在编辑的时候为select设置选中项
    html面试题
    js splice和delete删除数组长度会变化吗
    webp与jpg、png比较,它有什么优劣势?如何选择?
    iOS开发技术之应用代码注入防护
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581585.html
Copyright © 2020-2023  润新知