vue中的事件修饰符(.stop、.prevent、.self、.capture、.once)

时间: 2019-07-12阅读: 274标签: 事件

摘要

使用.stop阻止事件的冒泡行为。

使用.prevent阻止事件的默认行为。

使用.self实现只有点击当前元素才会触发事件处理函数。

使用.capture实现捕获触发事件的机制,即从外部事件开始执行。

使用.once实现事件的触发次数为一次。

需要特别注意.stop和.self的区别:.stop是阻止除了自己之外所有的冒泡事件,而.self是控制自己被点击才会触发事件处理函数,阻止自己被冒泡所影响。


代码

<!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>事件修饰符</title>
    <script src="../lib/vue.js"></script>
    <style>
        .app{
            width: 200px;
            height: 200px;
            background: red;
        }
    </style>
</head>
<body>
    <!-- <div class="app" @click.capture="outClick"> -->
        <!-- 使用.capture实现捕获触发事件的机制,即从外部事件开始执行 -->
    <div class="app" @click.self="outClick">
        <!-- 使用.self实现只有点击当前元素才会触发事件处理函数-->
        <input type="button" value="按钮1" @click.stop="innerClick">
        <!-- 使用.stop阻止事件的冒泡行为 -->
        <input type="button" value="按钮2" @click.once="innerClick">
        <!-- 使用.once实现事件的触发次数为一次 -->
        <a href="https://www.baidu.com/" @click.prevent.stop="aClick">有事找百度</a>
        <!-- 使用.prevent阻止事件的默认行为 -->
    </div>
    <script>
        var vm = new Vue({
            el:".app",
            methods:{
                outClick(){
                    alert('我是外面的事件');
                },
                innerClick(){
                    alert('我是内部的事件');
                },
                aClick(){
                    alert('我是超链接的事件');
                }
            }
        })
    </script>
</body>
</html>


吐血推荐

1.站长广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入...

2.休闲娱乐: 网页游戏  直播/交友   H5游戏

链接: http://www.fly63.com/article/detial/4649

Js事件的截获

利用事件的捕获阶段,添加事件。再利用触发事件元素(e.target)来判断(根据一定的标识或者某些特征)是否是我们需要劫持的dom。

vue.js 事件绑定

(1)使用v-on指令可以添加事件监听,语法:2)参数:$event就是当前触发事件的元素,即使不传$event,在回调函数中也可以使用event这个参数

jquery使用on()方法绑定的事件被执行多次的问题

jQuery用on()方法绑定了事件之后,在代码执行过程中,可能会遇到事件被多次执行的情况。本来以为是事件冒泡的问题,后来发现是on()方法的特性引起的问题。

Js中常用事件及说明

load页面加载完成时触发,beforeunload窗口关闭之前触发,unload窗口关闭时触发,focus窗口得到焦点时触发,blur窗口失去焦点时触发,error页面上有脚本报错时触发

微信小程序中事件

Touchcancle: 在某些特定场景下才会触发(比如来电打断等);​ tap事件和longpress事件通常只会触发其中一个;事件传递参数当视图层发生事件时,某些情况需要事件携带一些参数到执行的函数中, 这个时候就可以通过

Js事件循环机制 Event loop

队列的特征先进先出;js是单线程的,任务都是排队执行,不会同步执行对个任务;js分为同步(赋值,循环,分支语句)和异步(ajax,dom事件,定时器);事件循环机制

JS事件冒泡机制以及委托方法,以及vue中的stop

要理解事件冒泡机制,就得先了解事件。浏览器是事件驱动型的,根据用户的行为触发不同的事件,根据事件执行相应的操作。我们较为熟悉的事件有三大类型:鼠标键盘事件、页面事件、表单相关事件。

HTML5触摸事件演化tap事件

触摸事件是移动浏览器特有的HTML5事件,虽然click事件在pc和移动端更通用,但是在移动端会出现300ms延迟,较为影响用户体验,300ms延迟来自判断双击和长按,因为只有默认等待时间结束以确定没有后续动作发生时,才会触发click事件

Event是什么?注册事件监听的方式有哪些?

Event 接口表示在 DOM 中发生的任何事件(常见事件); 一些是用户生成的(例如鼠标或键盘事件),而其他由 API 生成(例如指示动画已经完成运行的事件,视频已被暂停等等)。事件通常由外部源触发,同样也会以编程方式触发

如何在React中优雅的处理doubleClick?

上午楼主遇到一个需要处理双击事件的需求,在这里介绍下如何在触发doubleCLick时间的时候, 不触发click事件的解决办法, 顺便分享给大家。解决办法也很简单: 延迟 click事件的处理, 直到判断这个click 不在 doubleClick 中。

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全