Vue学习之事件修饰符

Vue学习之事件修饰符Vue学习之事件修饰符

大家好,又见面了,我是你们的朋友全栈君。

Vue事件修饰符

事件修饰符概览

 修饰符      | 说明                        
 -------- | -------------------------- 
 .stop    | 阻止冒泡                      
 .prevent | 阻止默认事件                    
 .capture | 添加事件侦听器时使用事件捕获模式          
 .self    | 只当事件在该元素本身(比如不是子元素)触发时触发回调
 .once    | 事件只触发一次                   

事件修饰符具体介绍

.stop

.stop用来防止冒泡,我们先来看看冒泡的场景

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./lib/vue-2.4.0.js"></script>
    <style>
            .inner {
              height: 150px;
              background-color: gold;
            }
        
            .outer {
              padding: 40px;
              background-color: red;
            }
          </style>
</head>
<body>
    
    <div id="app">
            <div class="inner" @click="div1Handler">
                    <input type="button" value="点击" @click="btnHandler">
            </div>
    </div>
    <script>
        var vm = new Vue({
            el:"#app",
            data: {

            },
            methods: {
                div1Handler() {
                    console.log('这是触发了 inner div 的点击事件')
                },
                btnHandler() {
                    console.log('这是触发了 btn 按钮 的点击事件')
                }
            }
        })
    </script>
</body>
</html>

页面操作效果

在这里插入图片描述

我们看到不光点击按钮的点击事件触发了,而且父容器div的点击事件也触发了,这时我们就可以使用.stop来阻止这个冒泡了,如下

在这里插入图片描述

在访问测试

在这里插入图片描述

通过输出可以看到点击事件没有往上冒泡了!

.prevent

阻止默认行为,我们可以通过a标签来演示,先看未阻止的情况

在这里插入图片描述

看下演示效果
在这里插入图片描述

我们可以看到先触发了我们的弹出框,然后页面跳转了,这时我们可以阻止默认行为

在这里插入图片描述

再看效果

在这里插入图片描述

从效果中可以看出默认的跳转事件被阻止了!

.capture

实现捕获触发事件的机制,即是给元素添加一个监听器,当元素发生冒泡时,先触发带有该修饰符的元素。若有多个该修饰符,则由外而内触发。
就是谁有该事件修饰符,就先触发谁。 先看没有该修饰符的操作

在这里插入图片描述

在这里插入图片描述

输出我们可以看到先触发的 按钮的点击事件,然后触发的div的点击事件,现在我们绑定 .capture

在这里插入图片描述

在这里插入图片描述

通过输出可以看到是先触发的 绑定的有”.capture”的div,然后触发的btn按钮。

.self

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

在这里插入图片描述

效果演示:

在这里插入图片描述

.once

只触发一次事件处理函数

在这里插入图片描述

在这里插入图片描述

通过输出效果可以看出阻止默认行为只有效了一次!

.stop 和 .self 的区别

先看.stop的行为:

在这里插入图片描述

点击btn按钮,阻止冒泡,我们看效果

在这里插入图片描述

通过演示可以看到点击按钮,两个div的事件都没有触发。

再看.self

在这里插入图片描述

在这里插入图片描述

通过演示可以看出self只会阻止自己身上冒泡行为的触发,并不会真正阻止 冒泡的行为。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106504.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • openwrt旁路由设置的正确方式

    openwrt旁路由设置的正确方式最近在玩旁路由,踩了一些坑,也学习了点相关知识,特整理记录下。一、旁路由的配置上图是旁路由的连接方式,一般作为旁路由的只有一个LAN口,让他们ip在一个网段即可比如主路由网关192.168.0.1,旁路由配置成192.168.0.21.主路由配置:手动指定LAN为192.168.0.1。#DHCP配置中把网关和DNS改成旁路由ip地址,如192.168.0.2。2.旁路由配置:关闭DHCP,把网关改成主路由地址,如192.168.0.1,关闭桥接模式.采用路由模式。这样配置后,网络流量如下图

    2022年6月13日
    398
  • java 把对象转成map_Java对象转换成Map[通俗易懂]

    java 把对象转成map_Java对象转换成Map[通俗易懂]需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来首先是beanpackagetools;importlombok.data;/***车辆实体类*/@datapublicclasscar{privatestringid;privatestringmodel;//型号privatestringcolor;//颜色privatestringvolu…

    2022年5月10日
    113
  • eclipse里没有server选项怎么办(eclipse中没有server选项)

    用eclipese写网页很多时候需要配置tomcat,但有些朋友跟着网上的教程配置发现eclipse-&gt;【Window】-&gt;【Preferences】里没有【server】从而配置不了RuntimeEnvironment。所以需要通过eclipse进行安装。下面给出解决办法首先,获取你的eclipse的版本类型,点击【help】-&gt;【abouteclipseIDE】…

    2022年4月17日
    104
  • Android集成lrzsz[通俗易懂]

    Android集成lrzsz[通俗易懂]为啥要移植lrzsz本文中的lrzsz代码点击此处获取Hikey开发板有两类USB口,两组USB-TypeA母口作为Host,可以接键盘、鼠标。另一组mini-USB母口,作为devices,可以接到电脑上调试。但目前这两种接口无法同时使用,即通过键盘鼠标操作时不能使用ADB。虽然可以通过minicom或者putty之类的工具连接串口查看LOG、执行命令。但Android系统中缺少通过串口传

    2022年6月23日
    46
  • 使用SpringBoot上传文件并存储至数据库

    使用SpringBoot上传文件并存储至数据库springboot2.2.1.RELEASE <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><…

    2022年5月20日
    39
  • java基本数据类型&java变量类型

    java基本数据类型&java变量类型声明 本文部分转载 部分为本人 summary PARTONE Java 基本数据类型变量就是申请内存来存储值 也就是说 当创建变量的时候 需要在内存中申请空间 内存管理系统根据变量的类型为变量分配存储空间 分配的空间只能用来储存该类型数据 因此 通过定义不同类型的变量 可以在内存中储存整数 小数或者字符 Java 的两大数据类型 内置数据类型

    2025年10月20日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号