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.οnlοad=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.οnlοad=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.οnlοad=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.οnlοad=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.οnlοad=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.οnlοad=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.οnlοad=function(){
            new Vue({
                el:'#box',
                data:{

                },
                methods:{
                    show:function(){
                        alert("你按了左箭头←");
                    }
                }
            });
        };
<div id="box">
        <input type="text" @keyup.left="show()">
    </div>

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在使用vue-seamless-scroll做页面自动滚动的时候,在添加点击事件后发现在滚动到第二遍的时候点击事件消失。最后发现是由于vue-seamless-scroll在实现滚动的时候自行复制了一份DOM,导致在复制的DOM出现的时候点击事件消失。\[1\] 问题:vue-seamless-scroll事件丢失 回答: 当使用vue-seamless-scroll进行页面自动滚动时,可能会遇到点击事件丢失的问题。这是因为vue-seamless-scroll在实现滚动时会复制一份DOM,导致复制的DOM出现时点击事件消失。为了解决这个问题,可以尝试以下方法: 1. 在vue-seamless-scroll组件上添加一个唯一的key属性,例如:key="scrollKey"。这样可以确保每次滚动时都会重新渲染组件,从而避免事件丢失。 2. 可以尝试使用vue-seamless-scroll提供的其他配置选项来解决事件丢失的问题。例如,可以设置hoverStop为false,这样鼠标悬停时滚动不会停止,可能可以避免事件丢失。 3. 如果以上方法都无效,可以考虑使用其他滚动插件或自己实现滚动功能来替代vue-seamless-scroll。 希望以上方法能够帮助您解决vue-seamless-scroll事件丢失的问题。\[1\] #### 引用[.reference_title] - *1* [vue——vue-seamless-scroll点击事件消失的问题](https://blog.csdn.net/qq_45997679/article/details/115835681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vue-seamless-scroll列表循环滚动插件](https://blog.csdn.net/weixin_42215897/article/details/110194641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值