事件修饰符

  • .stop : 阻止冒泡
  • .prevent : 阻止默认事件
  • .capture : 添加事件侦听器时使用事件捕获模式 => 即从外到里触发事件
  • .self : 只有事件在该元素本身(比如不是子元素)触发时回调 => 只有点击当前元素时才会触发函数,而不是通过冒泡
  • .once : 事件只触发一次 => 事件修饰符只触发一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>管理界面</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="vue">
<div @click="clickDiv">
<!--
在 @click 后面加上 .stop ,表示阻止事件冒泡
如果不加的话,就会同时触发两个事件
-->
<input type="button" @click.stop="clickBtn" value="提交">
</div>
<!--
在 @click 后加上 .prevent ,表示阻止默认行为,即打开链接这个默认行为
-->
<a href="https://www.baidu.com" target="_blank" @click.prevent="linkToBaidu">百度一下</a>
</div>

<script>
const vm = new Vue({
el: "#vue",
data: {
msg: "提交"
},
methods: {
clickDiv: function () {
console.log("点击了 div")
},
clickBtn() {
console.log("点击了按钮");
},
linkToBaidu: function () {
console.log("去百度")
}
}
});
</script>
</body>
</html>

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×