计算机网络/计算机科学与应用/系统/运维/开发

Vue-事件修饰符和按键码

事件修饰符和按键码


<div id="app">
  <h3>1、事件处理方法 v-on 或 @</h3>
  <p>{{ msg }}</p>
  <button v-on:click="say">点击我</button>
  
  <!--$event 代表的是原生的Dom事件-->
  <button @click="warn('小红',$event)">warn</button>
  
  <h3>2、事件修饰符</h3>
  <!--2-1、防止单击事件继续传播-->
  <div @click="todo">
      <button @click="doThis">单击事件会继续传播</button>
  </div>
  <div @click="todo">
    <!--.stop作用 阻止事件传播-->
    <button @click.stop="doThis">阻止单击事件会继续传播</button>
  </div>
  
  <!--2.2 阻止事件的默认行为-->
  <a href="https://www.baidu.com" @click.prevent="doStop">百度一下</a>
  <!--2.3 点击事件只会触发一次-->
  <button @click.once="doOnly">once 只能触发一次{{num}}</button>

  
  <h3>3、按键修饰符或按键码</h3>
  <input type="text" @keyup.enter="keyEnter">
  <input type="text" @keyup.space="keySpace">
  <input type="text" @keyup.13="keyCode">
</div>


<script>
    var vm = new Vue({
        el:'#app',
        data:   {
            msg:"hello vue",
            num:0
        },
        methods:{ // 指定事件处理函数
            say:function( event ){
                // event 代表的是Dome原生事件,vue会自动的将它传入进来
                alert(this.msg)
                // target 找到目标元素
                alert(event.target.innerHTML)
            },
            warn:function(  name,event){
                // 如果说函数有多个参数,而双需要使用原生事件,则需要使用$event作为参数传入
                alert( name + ','+event.target.tagName )
            },
            doThis:function(){
                alert('doThis');
            },
            todo:function(){
                alert('todo...')
            },
            doStop:function(){
                alert('doStop')
            },
            doOnly:function(){
                this.num++
            },
            keyEnter:function(){
                alert('当前按的是回车键')
            },
            keySpace:function(){
                alert('当前按的是空格键')
            },
            keyCode:function(){
                alert('当前按的是13')
            }
        }
    });
</script>


vue 事件修饰符

只有惜缘,才有缘分;只有惜友,才有友谊。

评论

^