• vue-按键修饰符


    按键修饰符:主要用于监听键盘上的按钮被按下时,可触发对应的事件函数

                v-on:keyup.修饰符.修饰符】、

                .enter

                .tab

                .delete(针对delete和backspace两个按键)

                .esc

                .space

                .esc

                .space

                .up

                .down

                .left

                .right

                系统修饰符必须按下才触发

                .ctrl

                .alt

                .shift

                .meta:mac针对的是command键盘,windows针对的windows键盘(田)

    例子代码如下:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>v-on事件处理指令title>
    7. head>
    8. <body>
    9. <div id="app">
    10. <button v-on:click="say">v-on绑定的时间按钮:{{msg}}button>
    11. <button @click="say(123)">简写@绑定的事件按钮:{{msg}}button>
    12. <button @click="doLog('牛逼',$event)">手动传递DOM事件对象button>
    13. <input @blur="doBlur">
    14. <h3>事件修饰符h3>
    15. <div @click="todo">
    16. <div @click.stop="doThis">
    17. 单机事件会继续传递
    18. div>
    19. div>
    20. <br>
    21. <a href="http://www.baidu.com" @click="doStop">默认跳转a>
    22. <br>
    23. <a href="http://www.baidu.com" @click.prevent="doStop">.prevent修饰符-跳转a>
    24. <br>
    25. <button @click="doOnly1">点击事件每次加一{{num1}}button>
    26. <br>
    27. <button @click.once="doOnly">.once修饰符,点击事件只触发一次{{num}}button>
    28. <h3>按键修饰符h3>
    29. <input v-on:keyup.enter="keyEnter" placeholder="监听回车(enter)事件">
    30. <input v-on:keyup.delete="keyDelete" placeholder="监听删除(针对delete和backspace两个按键)">
    31. <input @keyup.alt.enter="altEnter" placeholder="监听Alt + center">
    32. <div @click.ctrl="clickCtrl">Ctrl+点击事件div>
    33. <input @keyup.meta.delete="mdt" placeholder="监听田 + delete或backspace两个按键">
    34. <input @keyup.ctrl.shift.x="ctrlShiftx" placeholder="ctrlShiftx">
    35. div>
    36. <script src="./node_modules/vue/dist/vue.global.js">script>
    37. <script type="text/javascript">
    38. const {createApp} = Vue;
    39. const app=createApp({
    40. data(){
    41. return{
    42. msg:"aaa",
    43. num:0,
    44. num1:0
    45. }
    46. },
    47. //定义方法的选项
    48. methods: {
    49. say(event){//event 事件对象
    50. this.msg="5555"; //this 代表app对象
    51. console.log("say something!",event);
    52. },//多个必须加逗号
    53. doLog(name,event){
    54. console.log(name,event);
    55. },
    56. doBlur(event){
    57. console.log('输入框失去焦点',event.target.value); //获取输入框值
    58. },
    59. doThis(event){
    60. console.log("doThis");
    61. },
    62. todo(event){
    63. console.log("todo");
    64. },
    65. doStop(){
    66. alert("doStop!");
    67. },
    68. doOnly1(){
    69. this.num1++;
    70. console.log("doOnly1");
    71. },
    72. doOnly(){
    73. this.num++;
    74. console.log("doOnly");
    75. },
    76. keyEnter(){
    77. console.log("监听enter按键");
    78. },
    79. keyDelete(event){
    80. console.log("监听delete和backspace两个按键按键",event.keyCode);
    81. },
    82. altEnter(event){
    83. console.log("监听alt和Enter两个组合按键",event.keyCode);
    84. },
    85. clickCtrl(){
    86. console.log("监听clickCtrl",event.keyCode);
    87. },
    88. mdt(){
    89. console.log("监听田 + delete或backspace两个按键",event.keyCode);
    90. },
    91. ctrlShiftx(){
    92. console.log("ctrlShiftx",event.keyCode);
    93. }
    94. }
    95. }).mount("#app");
    96. console.log("app",app);
    97. script>
    98. body>
    99. html>

  • 相关阅读:
    MongoDB打破了原则引入SQL?
    Chrome浏览器书签同步不及时怎么办?两种方法帮你解决!
    多人协作多版本开发冲突的正确解决姿势
    CMake 将所有 Target 的工程在 Visual Studio 中加到同一个文件夹
    C++标准模板(STL)- 类型支持 (定宽整数类型)(int8_t,int_fast8_t,int_least8_t,intmax_t,intptr_t)
    数据库笔记
    源码解析系列:ConcurrentHashMap(2) - put方法和扩容
    使用USB转JTAG芯片CH347在Vivado下调试
    Excel拆分单元格怎么操作?学会这4招,工作效率倍涨!
    定时任务(一)
  • 原文地址:https://blog.csdn.net/QWERTY55555/article/details/133845250