美文网首页让前端飞个人收藏Vue移动端
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析

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

作者: 88b61f4ab233 | 来源:发表于2019-05-09 14:32 被阅读16次
    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>
    

    最后

    为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,帮助大家在成为全栈工程师,乃至架构师的路上披荆斩棘。在这里给大家推荐一个前端全栈学习交流圈:866109386.欢迎大家进群交流讨论,学习交流,共同进步。

    当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

    但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以有有效资源还是很有必要的。

    最后祝福所有遇到瓶疾且不知道怎么办的前端程序员们,祝福大家在往后的工作与面试中一切顺利。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/akswoqtx.html