• Vue修饰符(Vue事件修饰符、Vue按键修饰符)


    目录

    前言

    Vue事件修饰符

    列举较常用的事件修饰符

    .stop

    .prevent

    .capture

    .once

    Vue按键修饰符

    四个特殊键

    获取某个键的按键修饰符


    前言

    本文介绍Vue修饰符,包括Vue事件修饰符以及按键修饰符

    Vue事件修饰符

    列举较常用的事件修饰符

    .stop:             停止事件冒泡        等同于event.stopPropagation()

    .prevent:        阻止事件的默认行为        等同于 event.preventDefault()

    .capture:        添加事件监听器时使用事件捕获模式

                            添加事件监听器包括两种不同的方式:

                            内到外(事件冒泡模式)、外到内(事件捕获模式)

    .once:             事件只发生一次

    没有任何修饰符的情况下

    1. class="app">
    2. <div @click="three">
    3. <span @click="two">
    4. <button @click="one">{{msg}}button>
    5. span>
    6. div>
  • <script>
  • const vm = new Vue({
  • el:'.app',
  • data:{
  • msg:'事件修饰符'
  • },
  • methods:{
  • one(){
  • console.log('1');
  • },
  • two(){
  • console.log('2');
  • },
  • three(){
  • console.log('3');
  • }
  • }
  • })
  • script>
  • 程序会发生冒泡事件,依次在控制台打印出1,2,3

    .stop

    添加了.stop事件修饰符

    1. class="app">
    2. <div @click="three">
    3. <span @click.stop="two"> //在此处添加stop修饰符,阻止事件冒泡
    4. <button @click="one">{{msg}}button>
    5. span>
    6. div>

在span标签上添加stop修饰符,控制台打印出1,2就会停止冒泡

.prevent

添加了.prevent事件修饰符

  1. //在原有的代码基础上增加一个超链接
  2. //在methods中增加一个函数
  3. four(){
  4. console.log('去百度');
  5. }

.capture

添加了.capture事件修饰符

内到外,也就是冒泡模式,控制台依次打印出1,2,3

外到内,事件捕获模式,控制台会依次打出3,2,1

  1. capture="three">
  2. <span @click.capture="two">
  3. <button @click.capture="one">{{msg}}button>
  4. span>

当只给span标签添加capture修饰符时

会优先打印2,其余的会按照默认的进行冒泡

  1. "three">
  2. <span @click.capture="two">
  3. <button @click="one">{{msg}}button>
  4. span>

.once

添加了.once事件修饰符

没有添加once事件修饰符前,每点击按钮一次,就会触发事件一次,添加了once事件修饰符后

  1. "three">
  2. <span @click="two">
  3. <button @click.once="one">{{msg}}button>
  4. span>

我们给button添加了once,所以1只会打印一次,其余的会默认冒泡事件触发,答应出2,3

Vue按键修饰符

.enter 回车键

.delete 键

.esc 键

.space 空格键

.up 箭头上键

.dowm 箭头下键

.left 箭头左键

.right 箭头右键

.tab 键 (无法触发keyup事件,只能触发keydown事件) 

四个特殊键

ctrl,alt,shift,meta(也就是win标志,田)

对于keydown事件来说,只需要直接按下对应的键就可以触发

对于keyup时间来说,需要按下对应的键,并且加上按下组合键,然后松开组合键,才可以触发keyup事件.组合键就类似于:ctrl+c、ctrl+x等

  1. class="app">
  2. <h1>{{msg}}h1>
  3. 回车键:"text" @keyup.enter="getInfo">
  4. delete键:"text" @keyup.delete="getInfo">
  5. esc键:"text" @keyup.esc="getInfo">
  6. space键:"text" @keyup.space="getInfo">
  7. up键:"text" @keyup.up="getInfo">
  8. down键:"text" @keyup.down="getInfo">
  9. left键:"text" @keyup.left="getInfo">
  10. right键:"text" @keyup.right="getInfo">
  11. tab键:"text" @keydown.tab="getInfo">
  12. <script>
  13. const vm = new Vue({
  14. el:'.app',
  15. data:{
  16. msg:'按键修饰符'
  17. },
  18. methods:{
  19. getInfo(e){
  20. console.log(e.target.value);
  21. }
  22. }
  23. })
  24. script>

按下对应的案件后会立即调用函数

获取某个键的按键修饰符

通过event.key获取这个键的真实名字

将这个真是名字以kebab-case风格进行命名 例:pageDown是真实名字,命名后,page-down

  1. class="app">
  2. <h1>{{msg}}h1>
  3. 回车键:"text" @keyup.enter="getInfo">
  4. <script>
  5. const vm = new Vue({
  6. el:'.app',
  7. data:{
  8. msg:'按键修饰符'
  9. },
  10. methods:{
  11. getInfo(e){
  12. console.log(e.key);
  13. }
  14. }
  15. })
  16. script>

按下回车时,打印出相应的按键

  • 相关阅读:
    B端系统:导航机制设计,用户体验提升的法宝
    项目经理必知的项目管理“铁三角”
    暑期留校——状态压缩DP-板子题
    【带你找回童年的快乐,Python实现坦克大战】
    Java Web 7 JavaScript 7.4 JavaScript 常用对象
    【Jenkins+Gitlab自动化部署配置】
    uniapp-uview的表单校验——同步,异步,图片必输,数字校验爬坑
    xml schema
    Axios传值的几种方式
    Oracle批量修改字段类型varchar2(2000)转clob
  • 原文地址:https://blog.csdn.net/weixin_68854196/article/details/134424859