欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > vue >内容正文

vue

vue事件修饰符:通过@click.capture捕获内层事件(爷爷-凯发k8官方网

发布时间:2025/1/21 vue 15 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 vue事件修饰符:通过@click.capture捕获内层事件(爷爷-父亲-儿子) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

vue事件符的.capture用法,含义是捕获。

先看一个4层结构的div盒子:div(最外层) > div(爷爷) > div(父亲) > div(儿子)

<template><div><div @click="handlecatch('最外层')">最外层<div @click="handlecatch('抓到了爷爷')">抓到了爷爷<div @click="handlecatch('抓到了父亲')">抓到了父亲<div @click="handlecatch('抓到了儿子')">抓到了儿子div>div>div>div>div> template> <script>export default {methods: {handlecatch(msg) {console.log(msg)}} } script> <style lang="scss" scoped>style>

点击最里层儿子,则会冒泡打印输出,输出为

现在给@click添加.capture修饰符

一、首先添加单个.capture给每层盒子,点击“儿子”看效果

<div @click="handlecatch('最外层')">最外层<div @click="handlecatch('抓到了爷爷')">抓到了爷爷<div @click.capture="handlecatch('抓到了父亲')">抓到了父亲<div @click="handlecatch('抓到了儿子')">抓到了儿子div>div>div>div>

点击“儿子”看效果

2. 给爷爷加

<div @click="handlecatch('最外层')">最外层<div @click.capture="handlecatch('抓到了爷爷')">抓到了爷爷<div @click.capture="handlecatch('抓到了父亲')">抓到了父亲<div @click="handlecatch('抓到了儿子')">抓到了儿子div>div>div>div>

点击“儿子”看效果

3. 给最外层加

<div @click.capture="handlecatch('最外层')">最外层<div @click.capture="handlecatch('抓到了爷爷')">抓到了爷爷<div @click.capture="handlecatch('抓到了父亲')">抓到了父亲<div @click="handlecatch('抓到了儿子')">抓到了儿子div>div>div>div>

点击“儿子”看效果

总结:

1. 冒泡是从里往外冒,捕获是从外往里捕。

1. 当捕获存在时,先从外到里的捕获,剩下的从里到外的冒泡输出。

参考链接:https://www.cnblogs.com/yeminglong/p/15165686.html

总结

以上是凯发k8官方网为你收集整理的vue事件修饰符:通过@click.capture捕获内层事件(爷爷-父亲-儿子)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图