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

news/2024/7/9 23:42:47 标签: vue
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.欢迎大家进群交流讨论,学习交流,共同进步。

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

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

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


http://www.niftyadmin.cn/n/1300740.html

相关文章

Vue.js特性Scoped Slots的浅析

什么是scoped slots A scoped slot is a special type of slot that functions as a reusable template (that can be passed data to) instead of already-rendered-elements. 上面是官方的定义。 作用域插槽&#xff08;Scoped Slots&#xff09;是vue.js中一个非常有用的特性…

页面性能优化之原生JS实现图片懒加载

在项目开发中&#xff0c;我们往往会遇到一个页面需要加载很多图片的情况。我们可以一次性加载全部的图片&#xff0c;但是考虑到用户有可能只浏览部分图片。所以我们需要对图片加载进行优化&#xff0c;只加载浏览器窗口内的图片&#xff0c;当用户滚动时&#xff0c;再加载更…

Chrome 性能监测

前端性能优化一直是前端工作中必不可少的一部分&#xff0c;但是我们如何知道哪些部分的性能有优化的空间呢&#xff1f;此时&#xff0c;Chrome 性能监测就派上用场了。 正所谓&#xff1a;知己知彼&#xff0c;百战百胜&#xff0c;只有确定了性能瓶颈&#xff0c;才能有条不…

一行命令更新所有 npm 依赖包

npm 包的更新速度很快&#xff0c;为了将项目或者全局依赖更新到最新版本。传统的做法是一个一个更新&#xff0c;比如更新 react 到最新版本&#xff0c;命令如下&#xff1a; # npm npm i --save reactlatest # yarn yarn add reactlatestyarn 是 facebook 发明的新一代 js …

520来袭,程序猿的浪漫 - 前端情书

前言 虽然很多人认为我们不懂得浪漫&#xff0c;甚至情商为负&#xff0c; 但是程序员浪漫起来&#xff0c;就真的没有了其他人什么事了。 520即将到来&#xff0c;需要告白的同学们&#xff0c;要把握好机会&#xff0c;不要错过了。 下面分享一篇我写的前端情书&#xff08;1…

一张图搞懂Ajax原理

原理 说起ajax&#xff0c;就不得不说他背后的核心对象XMLHttpRequest&#xff0c;而说到XMLHttpRequest我觉得&#xff0c;从它的readyState状态说起是最好的切入点。 个人觉得&#xff0c;只要弄清楚了readyState的这几个状态&#xff0c;其实ajax的原理也就算弄清楚了。为…

javascript 函数后面有多个小括号f( )( )( )...

有时我们看见js函数后面跟着多个小括号是什么意思&#xff1f;f( )( )( )… f()执行f函数&#xff0c;返回子函数f()()执行子函数&#xff0c;返回孙函数f()()()执行孙函数&#xff0c;返回重孙函数 但注意&#xff0c;如果想这样执行&#xff0c;函数结构必须是这样&#xff…

【并发编程】Future模式添加Callback及Promise 模式

Future Future是Java5增加的类&#xff0c;它用来描述一个异步计算的结果。你可以使用 isDone 方法检查计算是否完成&#xff0c;或者使用 get 方法阻塞住调用线程&#xff0c;直到计算完成返回结果。你也可以使用 cancel 方法停止任务的执行。下面来一个栗子&#xff1a; pu…