Event Handling 事件处理

F12

v-on:click 简写做 @click


1. 基本的单击事件: 直接在html中定义响应函数

The button above has been clicked {{ counter }} times.


2. 事件处理方法
3. 内联事件
3.1 传递参数
3.2 内联事件,使用 $event 传递 event参数 给事件处理函数
是偶数才提交,奇数不提交: {{counter}}

4. 多事件处理,用逗号隔开
5. 事件修饰符
经常在事件内调用: event.preventDefault() or event.stopPropagation()

在Vue中,方法只处理逻辑,不处理DOM,为了统一行为,可以使用 事件修饰符:
.stop  防止事件继续传播
.prevent
.capture
.self
.once
.passive

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击。
5.1 stop 并阻止默认行为: 不打开链接
5.2 once(F12 console)
6. 每懂 //todo 这个 .passive 修饰符尤其能够提升移动端的性能。
	滚轮事件

1	



2



3
	

7. 键盘修饰符
7.1 only call `vm.pressEnter()` when the `key` is `Enter`
keyup 事件,只有 enter 按键时响应:
7.2 KeyboardEvent.key: 处理函数只会在 $event.key 等于 'PageDown' 时被调用
	
按键别名:
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right


系统修饰键
.ctrl
.alt
.shift
.meta #win的win键, Mac的 command键;

鼠标按钮修饰符
.left
.right
.middle

7.3
click + ctrl me

8. .exact 修饰符,只有完全一样才触发,不能多!
即使 Alt 或 Shift 被一同按下时也会触发
有且只有 Ctrl 被按下的时候才触发
没有任何系统修饰符被按下的时候才触发