Vue.js 事件处理

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>on</title>
</head>
<body>
    <div id="on">
        <span>这个按钮被点击了 {{ counter }} 次。</span><br>
        <button v-on:click="counter += 1">增加 1</button>

        <br><br>
        <button v-on:click="say('hi')">Say hi</button>

        <br><br>
        <button v-on:click="greet">Greet</button>

        <!--事件修饰符-->

        <a v-on:click.stop="doThis"></a>    <!-- 阻止单击事件冒泡 -->

        <form v-on:submit.prevent="onSubmit"></form>  <!-- 提交事件不再重载页面 -->

        <a v-on:click.stop.prevent="doThat"></a>    <!-- 修饰符可以串联  -->

        <form v-on:submit.prevent></form> <!-- 只有修饰符 -->

        <div v-on:click.capture="doThis"></div>  <!-- 添加事件侦听器时使用事件捕获模式 -->

        <div v-on:click.self="doThat"></div>   <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->

        <div v-on:click.once="doThis"></div>   <!--单击事件只触发一次-->

        <!--按键修饰符-->

        <input v-on:keyup.13="submit" value="submit">

        <input v-on:keyup.enter="submit" value="submit">  <!-- 只有在 keyCode 是 13 时,也就是“enter”时调用 vm.submit() -->
        <!--enter + Click -->

        <!--全部的按键别名:-->
        <!--.enter-->
        <!--.tab-->
        <!--.delete (捕获 “删除” 和 “退格” 键)-->
        <!--.esc-->
        <!--.space-->
        <!--.up-->
        <!--.down-->
        <!--.left-->
        <!--.right-->
        <!--.ctrl-->
        <!--.alt-->
        <!--.shift-->
        <!--.meta-->
        <input @keyup.alt.67="clear" value="2">  <!-- Alt + C + Click-->
        
    </div>

    <script src="js/vue.js"></script>
    <script>
//      通过全局config.keyCodes 对象自定义按键修饰符别名:可以使用 v-on:keyup.f1
//      Vue.config.keyCodes.f1 = 112
        var vm = new Vue({
            el:"#on",
            data: {
                counter: 0,
                name:"vue.js"
            },
            methods:{
                say: function (message) {
                    alert(message);
                },
                greet:function(event){
                    alert('Hello ' + this.name + '!');
                    // `event` 是原生 DOM 事件
                    alert(event.target.tagName);
                },
                submit:function(){
                    alert("submit");
                },
                clear:function(){
                    alert("clear");
                }
            }
        });
    </script>


</body>
</html>
原文地址:https://www.cnblogs.com/mina-huojian66/p/6433064.html