vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析

(编辑:jimmy 日期: 2024/11/19 浏览:2)

本文实例讲述了vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件。分享给大家供大家参考,具体如下:

v-on:click/mouseover......

简写的:

@click=""        推荐

事件对象:

@click="show($event)"

事件冒泡:

阻止冒泡: 

    a). ev.cancelBubble=true;
    b). @click.stop    推荐

默认行为(默认事件):

阻止默认行为:

    a). ev.preventDefault();
    b). @contextmenu.prevent   推荐

键盘:

@keydown    $event    ev.keyCode
@keyup

常用键:

    回车

        a). @keyup.13
        b). @keyup.enter

    上、下、左、右

        @keyup/keydown.left
        @keyup/keydown.right
        @keyup/keydown.up
        @keyup/keydown.down
    .....

简写的:  @click=""   推荐

<input type="button" value="按钮" v-on:click="show()">
<input type="button" value="按钮" @click="show()">

事件对象:@click="show($event)"

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(ev,b){
            alert(ev.clientX);
            alert(b);
          }
        }
      });
    };
<div id="box">
    <input type="button" value="按钮" @click="show($event,112)">
  </div>

事件冒泡

阻止冒泡:

a). ev.cancelBubble=true;

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(ev){
            alert(1);
            ev.cancelBubble=true;
          },
          show2:function(){
            alert(2);
          }
        }
      });
    };
<div id="box">
    <div @click="show2()">
      <input type="button" value="按钮" @click="show($event)">
    </div>
  </div>

b). @click.stop 推荐

<div id="box">
    <div @click="show2()">
      <input type="button" value="按钮" @click.stop="show()">
    </div>
  </div>

默认行为(默认事件):

阻止默认行为:

a). ev.preventDefault();

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(ev){
            alert(1);
            ev.preventDefault();//这里阻止了右击显示菜单的事件
          }
        }
      });
    };
<div id="box">
    <input type="button" value="按钮" @contextmenu="show($event)">
  </div>

b). @contextmenu.prevent 推荐

<div id="box">
    <input type="button" value="按钮" @contextmenu.prevent="show()">
  </div>

键盘事件:

@keydown        $event  ev.keyCode

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(ev){
            alert(ev.keyCode);
          }
        }
      });
    };
<div id="box">
    <input type="text" @keydown="show($event)">
  </div>

@keyup

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(ev){
            alert(ev.keyCode);
          }
        }
      });
    };
<div id="box">
    <input type="text" @keyup="show($event)">
  </div>

常用键:

1、回车

a). @keyup.13
b). @keyup.enter

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(){
            alert('您按回车了');
          }
        }
      });
    };
<div id="box">
  <!--<input type="text" @keyup.13="show()">-->
  <input type="text" @keyup.enter="show()">
</div>

2、上、下、左、右

@keyup/keydown.left
@keyup/keydown.right
@keyup/keydown.up
@keyup/keydown.down

window.onload=function(){
      new Vue({
        el:'#box',
        data:{
        },
        methods:{
          show:function(){
            alert("你按了左箭头←");
          }
        }
      });
    };
<div id="box">
    <input type="text" @keyup.left="show()">
  </div>

希望本文所述对大家vue.js程序设计有所帮助。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?