Notas de estudio de Vue (10) - modificadores de eventos

capturar primero, burbujear después

La fase de captura: de afuera hacia adentro

La fase burbujeante: de adentro hacia afuera

desplazamiento: barra deslizante o teclas arriba y abajo para deslizar

La rueda se desliza, siempre que la rueda de desplazamiento se deslice, el evento se activa

Modificadores de eventos:

  1. prevenir: prevenir el evento predeterminado (comúnmente utilizado)

  1. detener: evitar la aparición de burbujas de eventos (comúnmente utilizado) varias ventanas emergentes

  1. una vez: el evento solo se activa una vez (comúnmente utilizado)

  1. captura: usa el método de captura del evento

  1. self: el evento se activa solo cuando event.target es el elemento de la operación actual

  1. pasivo: el comportamiento predeterminado del evento se ejecuta inmediatamente, sin esperar a que se complete la devolución de llamada del evento

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <title>事件的基本使用</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
    <style>
        *{
            margin-top: 20px;
        }
        .demo1{
            height:50x;
            background-color:skyblue;
        }
        .box1{
            padding:20px;
            background-color:skyblue;
        }
        .box2{
            padding:20px;
            background-color:rgb(235, 135, 142);
        }
        .list{
            width:200px;
            height: 200px;
            background-color: aqua;
            overflow: auto;
        }
        li{
           
            height: 100px;
        }
    </style>
</head>
<body>
<!-- 准备一个容器 -->
<div id="root">
    <h2>欢迎来到{
    
    {name}}学习</h2>

    <!-- prevent:阻止默认事件(常用) -->
    <a href="http://www.atguigu.com" @click.prevent="showinfo">点我提示信息</a>
  
    <!-- stop:阻止事件冒泡(常用)多次弹窗 -->
    <div class="demo1" @click="showinfo">
        <button @click.stop="showinfo">点我提示信息</button>
    </div>
   
    <!-- once:事件只触发一次(常用)
    点击事件,第一次触发弹窗,以后再点击不触发弹窗 -->
    <button @click.once="showinfo">点我提示信息</button>
    
    <!-- capture:使用事件的捕获方式 -->
    <div class="box1" @click.capture="showmes(1)">
        div1
        <div class="box2" @click="showmes(2)">
            div2
        </div>
    </div>
    <!-- self:只有event.target是当前操作的元素时才触发事件 -->
    <div class="demo1" @click.self="showinfo">
        <button @click="showinfo">点我提示信息</button>
    </div>
    <!-- passive:事件的默认行为立即执行,无需等待事件回调执行完毕 -->
    <ul @scroll="demo" class="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
      
    </ul>
</div>
 
<script type="text/javascript">
Vue.config.productionTip=false
 
new Vue({
    el:'#root',
    data:{
        name:'尚硅谷'
    },
    methods:{
        showinfo(){
            alert('aihh')
        },
        showmes(mes){
            console.log(mes)
        },
        demo(){
         for(let i=0;i<100000;i++)
         {
            console.log('#')
         }
         console.log('累坏了')
        }
    }
  
})
 
</script>
</body>
</html>

Supongo que te gusta

Origin blog.csdn.net/weixin_54763080/article/details/128830314
Recomendado
Clasificación