VUE3 click点击事件及修饰符详解

 更新时间:2024年08月16日 15:10:39   作者:GIS-CL  
这篇文章主要介绍了VUE3 click点击事件及修饰符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

只绑定一个点击事件

<button @click="greet">单个点击事件</button>
methods:{
        greet(){
            console.log('单个点击事件')
        }
    }

一个标签内绑定多个点击事件方法

<button @click="one($event), two($event)">多个点击事件</button>
methods:{
        one(e){
            console.log(e)
        },
        two(e){
            console.log(e)
        }
    }

事件修饰符

.stop 阻止单击事件继续冒泡(适用于出现嵌套点击事件时)

<div @click="box('我是大box')" style="width:500px; background:red">
    <button @click.stop="doThis('我是内嵌点击事件按')">单个点击事件</button>
 </div>
 methods:{
        doThis(val){
            console.log(val)
        },
        box(val){
            console.log(val)
        }
    }

.prevent 阻止默认事件

<form action="">
    <!-- 默认提交事件 -->
    <!-- <input type="submit" value="提交"> -->
    <!-- 阻止默认事件 -->
    <input type="submit" value="提交" @click.prevent="submitCLICK('prevent阻止默认事件')">
  </form>
methods:{
        submitCLICK(val){
            console.log(val)
        }
    }

.capture 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理

<form action="">
    <input type="submit" value="提交" @click.capture="submitCLICK('capture先在此处理')">
  </form>
methods:{
        submitCLICK(val){
            console.log(val)
        }
    }

.once点击事件将只会触发一次

<button @click.once="ononce('点击事件将只会触发一次')">点击事件将只会触发一次</button>
methods:{
        ononce(val){
            console.log(val)
        }
    }

.passive用在移动端的scroll事件,来提高浏览器响应速度,提升用户体验

<!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发,   -->
<div @scroll.passive="onScroll">...</div>

修饰符串联使用(按循序执行)

// 按循序执行先执行阻止冒泡事件在执行阻止默认事件
<a @click.stop.prevent="doThat"></a>

TIP

不要把 .passive 和 .prevent(阻止默认事件) 一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告。

请记住,.passive 会告诉浏览器你不想阻止事件的默认行为。

按键修饰符

Vue 为最常用的键提供了别名:

  • .enter
  • .tab
  • .delete (捕获“删除”和“退格”键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right
<!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` 按enter键执行 -->
<input @keyup.enter="submit" />
<!-- 按delete 键执行 -->
<input @keyup.delete="submit" />

系统修饰键

  • .ctrl
  • .alt
  • .shift
  • .meta    
<!-- Alt + Enter 时触发-->
<input @keyup.alt.enter="clear" />

<!-- Ctrl + Click 按住加点击时触发-->
<div @click.ctrl="doSomething">Do something</div>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue.js结合SortableJS实现树形数据拖拽

    Vue.js结合SortableJS实现树形数据拖拽

    本文主要介绍了Vue.js结合SortableJS实现树形数据拖拽,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • vuex存储数组(新建,增,删,更新)并存入localstorage定时删除功能实现

    vuex存储数组(新建,增,删,更新)并存入localstorage定时删除功能实现

    这篇文章主要介绍了vuex存储数组(新建,增,删,更新),并存入localstorage定时删除,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • vue3输入框生成的时候如何自动获取焦点详解

    vue3输入框生成的时候如何自动获取焦点详解

    记录一下自己最近开发vue3.0的小小问题,下面这篇文章主要给大家介绍了关于vue3输入框生成的时候如何自动获取焦点的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Vue3超详细的ref()用法教程(看这一篇就够了!)

    Vue3超详细的ref()用法教程(看这一篇就够了!)

    这篇文章主要给大家介绍了关于Vue3超详细的ref()用法的相关资料,在Vue3中ref函数不仅可以用于在组件中获取DOM元素或子组件的引用,还可以直接访问组件元素本身,需要的朋友可以参考下
    2023-07-07
  • vue-json-viewer展示JSON内容实践

    vue-json-viewer展示JSON内容实践

    这篇文章主要介绍了vue-json-viewer展示JSON内容实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • vue中的mvvm模式讲解

    vue中的mvvm模式讲解

    今天小编就为大家分享一篇关于vue中的mvvm模式讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Vue3中解决组件间css层级问题的最佳实践

    Vue3中解决组件间css层级问题的最佳实践

    <Teleport> 是 Vue 3 中引入的一个内置组件,用于将组件的内容渲染到 DOM 中的指定位置,而不受组件层级结构的限制,本文给大家介绍了Vue3使用Teleport解决组件间css层级问题的最佳实践,需要的朋友可以参考下
    2025-02-02
  • vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)

    vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)

    这篇文章主要介绍了vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Vue3实现密码加密登录的示例代码

    Vue3实现密码加密登录的示例代码

    现在,很多登陆表单都会使用密码加密,为登录安全,登录表单输入密码,会加密后传入后台,本文就来介绍一下Vue3实现密码加密登录的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Vue3 中 Lottie动画库的使用指南

    Vue3 中 Lottie动画库的使用指南

    Lottie 是 Vue3 项目中实现高品质动画的最佳选择之一,通过封装通用组件可快速集成到项目中,结合其丰富的 API 能实现灵活的交互控制,本文来介绍一下Lottie动画库的使用,通过代码介绍的非常详细,需要的朋友可以参考下
    2026-02-02

最新评论