• vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件


    vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件

    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>


  • 相关阅读:
    eclipse中maven插件,改变默认仓库位置
    maven ArtifactTransferException:failure
    抽象工厂模式
    简单工厂模式,利用反射机制让简单工厂模式变得更灵活
    Android开发之获取系统版本号
    Android开发之ProgressDialog与ProgressBar
    Failed to initialize monitor Thread: Unable to establish loopback connection解决方法
    Android开发之通过反射获取到挂断电话的API
    Android Studio常用插件
    Proxifier设置代理
  • 原文地址:https://www.cnblogs.com/baiyangyuanzi/p/6766887.html
Copyright © 2020-2023  润新知