美文网首页
Vue事件修饰符

Vue事件修饰符

作者: 筱疯子 | 来源:发表于2018-12-24 16:38 被阅读0次

1· .stop 阻止冒泡

    <!-- 使用 .stop 阻止冒泡 -->
    <!-- 点击按钮 先触发btn的click事件 然后向上冒泡, 触发div的click事件  加上.stop阻止冒泡 只触发btn的 -->
    <div class="inner" @click="divHander"> 
        <input type="button" value="戳我" @click.stop="btnHander"/>
    </div>

2· .prevent 阻止默认行为

<!-- 使用 .prevent 阻止默认行为 -->
    <a href="https://www.baidu.com/" @click.prevent="linkClick">有问题,就去百度咯</a>

3· .capture 实现捕获触发事件机制

<!-- 使用 .capture 实现捕获触发事件机制 -->
    <!-- 点击按钮 先触发div的click事件 然后向下触发btn的事件 -->
    <div class="inner" @click.capture="divHander"> 
        <input type="button" value="戳我" @click="btnHander"/>
    </div>

4· .self 实现只有点击当前元素时候 , 才会触发事件处理函数

<!-- 使用 .self 实现只有点击当前元素时候 , 才会触发事件处理函数 -->
    <!-- 点各自触发各自的事件,不通过冒泡或捕获的方式触发别的元素的事件 -->
    <div class="inner" @click.self="divHander"> 
        <input type="button" value="戳我" @click="btnHander"/>
    </div>

5· .once 只触发一次事件处理函数

<!-- 使用 .once 只触发一次事件处理函数 -->
    <a href="https://www.baidu.com/" @click.prevent.once="linkClick">有问题,就去百度咯</a>
.stop 和 .self 的区别: .self只会阻止自己身上冒泡行为的触发,并不会真正阻止冒泡的行为(会一直向上冒泡)
完整代码如下:
<div id="app">
        <!-- 使用 .stop 阻止冒泡 -->
        <!-- 点击按钮 先触发btn的click事件 然后向上冒泡, 触发div的click事件  加上.stop阻止冒泡 只触发btn的 -->
        <div class="inner" @click="divHander"> 
            <input type="button" value="戳我" @click.stop="btnHander"/>
        </div>
        
        <!-- 使用 .prevent 阻止默认行为 -->
        <a href="https://www.baidu.com/" @click.prevent="linkClick">有问题,就去百度咯</a>
        
        <!-- 使用 .capture 实现捕获触发事件机制 -->
        <!-- 点击按钮 先触发div的click事件 然后向下触发btn的事件 -->
        <div class="inner" @click.capture="divHander"> 
            <input type="button" value="戳我" @click="btnHander"/>
        </div>
        
        <!-- 使用 .self 实现只有点击当前元素时候 , 才会触发事件处理函数 -->
        <!-- 点各自触发各自的事件,不通过冒泡或捕获的方式触发别的元素的事件 -->
        <div class="inner" @click.self="divHander"> 
            <input type="button" value="戳我" @click="btnHander"/>
        </div>
        
        <!-- 使用 .once 只触发一次事件处理函数 -->
        <a href="https://www.baidu.com/" @click.prevent.once="linkClick">有问题,就去百度咯</a>
    </div>
    <script type="text/javascript"> 
        var vm= new Vue({
            el:'#app',
            data:{},
            methods:{
                divHander() {
                    console.log('触发了 div 的点击事件')
                },
                btnHander() {
                    console.log('触发了 Btn 的点击事件')
                },
                linkClick() {
                    console.log('触发了 a链接 的点击事件')
                }
            }
        })
    </script>

相关文章

  • Vue事件修饰符

    Vue 事件修饰符 事件修饰符结合使用

  • vue中的修饰符

    事件修饰符 使用vue,让代码中只有纯粹的数据逻辑,而不是去处理DOM事件细节。 ---事件修饰符vue事件修饰符...

  • 2020-12-29

    Vue修饰符和事件 Vue修饰符:用来修饰事件的操作例如: 代码举例:阻止默认动作 1、v-on和其他支持的修饰符...

  • 在vue中使用.stop阻止单击事件继续传播

    一、vue的事件修饰符 为了不在方法中处理DOM事件细节,vue中提供6个事件修饰符。分别是: .stop .pr...

  • Vue事件修饰符详解

    Vue事件修饰符详解(转) 整体学习Vue时看到Vue文档中有事件修饰符的描述,但是看了之后并没有理解是什么意思,...

  • vue30道面试题

    vue的修饰符 1.事件修饰符 prevent 阻止默认事件(在指定的事件后进行默认事件的阻止) stop阻止事件...

  • Vue.js 事件修饰符

    事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventD...

  • vue事件、指令、钩子

    vue事件、指令、钩子 vue的事件修饰符:.stop:阻止冒泡.prevent:阻止默认行为.capture:捕...

  • vue事件修饰符

    js事件默认冒泡: 点击内层的元素会触发外层的事件。(解决方法如下:) 事件修饰符 vue提供了事件修饰符,...

  • 31.Vue v-model 修饰符

    与 Vue事件修饰符 类似,v-model也有修饰符,用于控制数据同步。 案例

网友评论

      本文标题:Vue事件修饰符

      本文链接:https://www.haomeiwen.com/subject/tvkzkqtx.html