zoukankan      html  css  js  c++  java
  • Vue之@click、事件修饰符@click.stop与@click.prevent、按键修饰符@keyup.enter

    1、绑定监听@click:

    (以监听click为例,其他如keyup,用法类似)  v-on:click="fun"
      @click="fun"
      @click="fun(参数)"

      <button @click="test1">test1</button>
      <button @click="test2('abc')">test2</button>
      <button @click="test3('abcd', $event)">test3</button>
     
      methods: {
          test1(eve) {//test1函数没有参数,默认传递 $event 
            alert(eve.target.innerHTML)  //test1
          },
          test2 (msg) { //test1函数有参数,传递该参数
            alert(msg)  // abc
          },
          test3 (msg, event) { //有参数,如果想获取到enevt,则函数中需要写 $event
            alert(msg+'---'+event.target.textContent)  // abcd---test3
          }
       }

    2、@click.stop与@click.prevent

    @click.stop 阻止事件冒泡

    <div id="app">
            <div v-on:click="dodo">
                <button v-on:click="doThis">阻止单击事件继续传播</button>
            </div>
    </div>
    
        <script>
            var app = new Vue({
                el: "#app",
                data: {
                    name: "Vue.js"
                },
                methods: {
                    doThis: function () {
                        alert("noclick");
                    },
                    dodo: function () {
                        alert("dodo");
                    }
                }
            });
        </script>
    //将会先弹出“noclick”,再弹出“dodo”。
    <div id="app">
            <div v-on:click="dodo">
                <button v-on:click.stop="doThis">阻止单击事件继续传播</button>
            </div>
        </div>
    
        <script>
            var app = new Vue({
                el: "#app",
                data: {
                    name: "Vue.js"
                },
                methods: {
                    doThis: function () {
                        alert("noclick");
                    },
                    dodo: function () {
                        alert("dodo");
                    }
                }
            });
        </script>
    //只弹出“noclick”

    @click.prevent 阻止事件的默认行为,

    <a href="http://www.baidu.com" @click.prevent="test4">百度一下</a>   //阻止a标签跳转,仅执行函数test4
    
    <form  action="/xxx"   @submit.prevent="test5">   //阻止表单提交,仅执行函数test5
    
             <input type="submit" value="注册">
    </form>

    3、按键修饰符

    @keyup.enter

    //按下enter时,执行方法test7
    
    <input type="text" @keyup.enter="test7">
    
    methods: {
    
          test7 (event) {
            console.log(event.keyCode)
            alert(event.target.value)
          }
    
    }
  • 相关阅读:
    [Leetcode] 221. Maximal Square
    [翻译] TensorFlow Programmer's Guide之Frequently Asked Questions(问得频率最多的几个问题)
    [Kaggle] dogs-vs-cats之模型训练
    [Kaggle] dogs-vs-cats之建立模型
    [Kaggle] dogs-vs-cats之制作数据集[1]
    Linux虚拟机Centos 设置固定的静态IP
    linux IP动态变动之后 , 需要做的杂项操作
    GitBlit (1)-- 在linux 安装 GitBlit 并运行
    Linux 安装SVN
    微信开发(3) -- 支付后接收回调信息测试
  • 原文地址:https://www.cnblogs.com/ning123/p/11324583.html
Copyright © 2011-2022 走看看