Vue--事件修饰符

刚刚学习了点击事件v-onclick,在点击某个控件的时候进行事件的绑定,触发某一个事件,注意需要在vue实例中将定义的触发函数进行注入,

如果说想对于href这种能够点击的事件进行触发事件,我们就需要首先将本身的点击进行阻止,使用e.preventDefault()组织默认行为,或者是@click.prevent

总共的事件修饰符:

. stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递)。

. prevent:阻止默认事件的发生。

. capture:捕获冒泡,即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件。

. self:将事件绑定到自身,只有自身才能触发,通常用于避免冒泡事件的影响。

. once:设置事件只能触发一次,比如按钮的点击等。

. passive:

一般用于wheel 事件,wheel事件的执行会优先执行处理函数的程序,执行完成后再执行浏览器默认事件将滚动条滚动到对应的位置,那么如果你的处理程序是一个需要很久才能处理完的程序比如很大的for循环或者 awiat等待的程序,那么他就会出现滚动条卡顿的情况,解决方法就是添加修饰符 passive ,他能让默认事件先执行,也就是滚动条先滚动,然后再去处理事件处理程序的回调,就不会卡顿了,

    <style>
        *{margin: 0;padding: 0;}li{list-style: none;}
        .list{
            height: 300px;
            width: 200px;
            background: orange;
            overflow: auto;
        }
        .list li{
            height: 100px;background-color: skyblue;margin-bottom: 20px;
        }
    </style>

<ul  @wheel.passive='roll' class="list">
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>
new Vue({
        el : '#root',  
        data : {},
        methods:{
            roll(){
                for(i = 0 ; i < 5000;i++){
                    console.log('事件处理中')
                }
                console.log('事件处理完成')
            }
        }
    })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值