• Vue事件修饰符整理


    事件修饰符

    .stop : 阻止冒泡

    .captrue: 事件捕获

    .self :触发事件对象为自己才触发

    .prevent :阻止默认行为

    .once :事件只触发一次

    .passive :优化移动端滚动行为

    .native : 表示为原生的事件

    .passive 修饰符说明:
    移动端Scroll时会默认等待 onScroll 执行完成 才执行默认行为,所以当onScroll中存在耗时操作时滚动会出现卡顿,而使用 .passive 修饰符后将会立即执行默认行为

    native修饰符:
    当你直接给子组件绑定事件时,例如click。此时vue会默认把它当成是自定义事件,所以点击也不会触发方法。解决办法:给click添加native修饰符,告诉vue这是一个原生事件

    <Mycomponent @click.native="handleClick" >Mycomponent> 
    
    • 1

    按键修饰符

    使用:事件.按键key(虽然 事件.按键keycode也是允许的, 但官方不推荐使用)

    例如:

    按键 w :<input @keydown.w="handleKeydown" />p>
    
    • 1

    为了在必要的情况下支持旧浏览器,Vue 提供了绝大多数常用的按键码的别名:

    .enter
    .tab
    .delete (捕获“删除”和“退格”键)
    .esc
    .space
    .up
    .down
    .left
    .right

    修饰符组合使用:

    ctrl+w 触发事件

    <input @keydown.ctrl.w="handleKeydown" />
    
    • 1

    .exact 修饰符允许你控制由精确的系统修饰符组合触发的事件。

    
    <button v-on:click.ctrl.exact="onCtrlClick">Abutton>
    
    • 1
    • 2

    你还可以通过全局 config.keyCodes 对象自定义按键修饰符别名:

    // 可以使用 `v-on:keyup.f1`
    Vue.config.keyCodes.f1 = 112
    
    • 1
    • 2

    多按键触发:

    // 定义自定义修饰符 按下f1或enter键触发
    Vue.config.keyCodes.f1_or_enter = [13,112]
    
    • 1
    • 2

    系统修饰键

    可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。
    .ctrl
    .alt
    .shift
    .meta

    请注意修饰键与常规按键不同,在和 keyup 事件一起用时,事件触发时修饰键必须处于按下状态。换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。如果你想要这样的行为,请为 ctrl 换用 keyCode:keyup.17。

    鼠标按钮修饰符

    这些修饰符会限制处理函数仅响应特定的鼠标按钮

    .left :鼠标左键
    .right :鼠标右键
    .middle :鼠标滚轮键

  • 相关阅读:
    2023-10-19 node.js-将异步处理修改为同步-使用Promise和async-记录
    linux入门2—文件系统
    若依前后端分离版:增加新的登录接口,用于小程序或者APP获取token,并使用若依的验证方法
    pytorch深度学习实战lesson27
    Markdown编辑器模式使用LaTex编辑数学公式入门
    HarmonyOS 应用生命周期有哪些? 按返回键会调用哪些生命周期?
    RF优化问题分析和处理
    Netty源码剖析之数据通信流程
    Spark系列之Spark启动与基础使用
    Conmi的正确答案——米家第一个ReactNative程序开发记录
  • 原文地址:https://blog.csdn.net/weixin_44646763/article/details/126037217