vue事件

1 .传入一个或者多个参数

haha
//多个参数传对象 //一个参数传基本数值 //$event 事件对象

2 .修饰符

1 .stop:阻止事件向上冒泡
2 .prevent:阻止默认事件触发
3 .once:只触发一次
4 .self:只是当前元素自身触发的函数,不接受从内部冒泡出来的事件
5 .capture:元素自身触发的事件现在此处理,然后在交由内部元素进行处理(使用捕获模式)
6 .

passive

1 .touchstart事件对象的cancelable属性为true,也就是意味着他的默认行为可以被监听器通过preventDefault()方法阻止,他的默认行为是滚动当前页面。如果默认行为被阻止了,那么页面必须静止不动,但是浏览器无法事先知道一个监听函数是否调用preventDefault,所以必须等监听器执行完函数,才会执行默认行为
2 .执行监听器是很消耗时间的,有些耗时甚至很明显,这样就会导致页面卡顿,即时是一个空函数,也会产生一定的卡顿
3 .80%的滚动事件监听器是不会阻止默认行为的,也就是说大部分情况下,浏览器是白等了
4 .passive监听器诞生了,表示不会对事件的默认行为说no,浏览器知道了一个监听器是passive的,他就在两个线程里面同时执行监听器中的js代码和浏览器默认行为了
5 .删除事件的时候,不用传入第三个参数,在浏览器内部,用来存储监听器的map的key是由事件类型,监听器函数,是否捕获这三者组成的,在remove的时候,永远不需要写passive和once,capture可能要
6 .chrome支持的优化事件类型仅限这类事情,比如touchStart,touchMove,wheel等事件
7 .click,contextmenu:总的来说passive:true不能保证浏览器对所有事件类型的默认行为进行优化。
8 .如果你在事件绑定函数中调用了 preventDefault,那么页面就不应该滚动,如果你没有调用 preventDefault,页面就需要滚动。但是你到底调用了还是没有调用,浏览器不知道。只能先执行你的函数,等 200 毫秒后,绑定事件执行完了,浏览器才知道,“哦,原来你没有阻止默认行为,好的,我马上滚”。此时,页面开始滚

按键修饰符

1 .普通的按键字符

1 .普通的字符按键:使用方法是直接在后面加点,实现的原理就是在返回的事件中通过e的返回值先检查他的key值是否是和绑定的一样,如果一样的话,那就返回绑定的函数,执行那个函数,如果不一样的话,就不执行函数
2 .enter
3 .tab:不好使用,因为有系统默认的功能已经绑定在了浏览器上面
4 .delete
5 .space
6 .esc
7 .up
8 .down
9 .left
10 .right
11 .支持自定义配置按键Vue.config.keyCodes.f1 = 112https://cn.vuejs.org/v2/api/#keyCodes

2 .系统修饰键:按下这些键的时候在加一个别的操作才会实现的效果

1 [email protected]="handleClick(event)" 输入的是ctrl+c触发事件
2 .仅支持鼠标和键盘事件
3 .alt
4 .shift
5 .meta
6 [email protected]="handleClick('123',$event)"鼠标点击和按下ctrl的时候会触发事件
7 .注意:修饰键与常规键不同,在和keyup事件一起使用时,事件触发时修饰符必须处于按下的状态,也就时说,只有按下ctrl的情况下,在释放其他的按键,才能触发keyup.ctrl。单单释放ctrl是不会触发事件的/如果仅仅是想要按下ctrl触发事件的话,keyup.17这个方法可以实现
8 .exact修饰符:允许你控制由精确的系统修饰符组合触发的事件。也就是说,如果有组合键的话,最好都加上这个修饰符。

按键修饰符

1 .左中右三个
2 .但是现在中和右在点击的时候都有浏览器的默认事件,虽然也会触发定义的事件。但是总是有点不方便
3 .还是单击,双击来区分事件比较好

你可能感兴趣的:(vue事件)