黑马vue---13、事件修饰符的介绍

vue

一、总结

一句话总结:

.stop 阻止冒泡:input type="button" value="戳他" @click.stop="btnHandler"

.prevent 阻止默认事件

1、事件修饰符 使用实例?

直接接在事件后使用:input type="button" value="戳他" @click.stop="btnHandler"

2、.stop 和 .self 的区别?

.self 只会阻止自己身上冒泡行为的触发,并不会真正阻止 冒泡的行为

二、事件修饰符的介绍

1、事件修饰符:

  • .stop 阻止冒泡

  • .prevent 阻止默认事件

  • .capture 添加事件侦听器时使用事件捕获模式

  • .self 只当事件在该元素本身(比如不是子元素)触发时触发回调

  • .once 事件只触发一次

 

2、代码

 1 <!DOCTYPE html>

2 <html lang="en">

3

4 <head>

5 <meta charset="UTF-8">

6 <meta name="viewport" content="width=device-width, initial-scale=1.0">

7 <meta http-equiv="X-UA-Compatible" content="ie=edge">

8 <title>Document</title>

9 <script src="./lib/vue-2.4.0.js"></script>

10 <style>

11 .inner {

12 height: 150px;

13 background-color: darkcyan;

14 }

15

16 .outer {

17 padding: 40px;

18 background-color: red;

19 }

20 </style>

21 </head>

22

23 <body>

24 <div id="app">

25

26 <!-- 使用 .stop 阻止冒泡 -->

27 <!-- <div class="inner" @click="div1Handler">

28 <input type="button" value="戳他" @click.stop="btnHandler">

29 </div> -->

30

31 <!-- 使用 .prevent 阻止默认行为 -->

32 <!-- <a href="http://www.baidu.com" @click.prevent="linkClick">有问题,先去百度</a> -->

33

34 <!-- 使用 .capture 实现捕获触发事件的机制 -->

35 <!-- <div class="inner" @click.capture="div1Handler">

36 <input type="button" value="戳他" @click="btnHandler">

37 </div> -->

38

39 <!-- 使用 .self 实现只有点击当前元素时候,才会触发事件处理函数 -->

40 <!-- <div class="inner" @click="div1Handler">

41 <input type="button" value="戳他" @click="btnHandler">

42 </div> -->

43

44 <!-- 使用 .once 只触发一次事件处理函数 -->

45 <!-- <a href="http://www.baidu.com" @click.prevent.once="linkClick">有问题,先去百度</a> -->

46

47

48 <!-- 演示: .stop 和 .self 的区别 -->

49 <!-- <div class="outer" @click="div2Handler">

50 <div class="inner" @click="div1Handler">

51 <input type="button" value="戳他" @click.stop="btnHandler">

52 </div>

53 </div> -->

54

55 <!-- .self 只会阻止自己身上冒泡行为的触发,并不会真正阻止 冒泡的行为 -->

56 <!-- <div class="outer" @click="div2Handler">

57 <div class="inner" @click.self="div1Handler">

58 <input type="button" value="戳他" @click="btnHandler">

59 </div>

60 </div> -->

61

62 </div>

63

64 <script>

65 // 创建 Vue 实例,得到 ViewModel

66 var vm = new Vue({

67 el: '#app',

68 data: {},

69 methods: {

70 div1Handler() {

71 console.log('这是触发了 inner div 的点击事件')

72 },

73 btnHandler() {

74 console.log('这是触发了 btn 按钮 的点击事件')

75 },

76 linkClick() {

77 console.log('触发了连接的点击事件')

78 },

79 div2Handler() {

80 console.log('这是触发了 outer div 的点击事件')

81 }

82 }

83 });

84 </script>

85 </body>

86

87 </html>

 

以上是 黑马vue---13、事件修饰符的介绍 的全部内容, 来源链接: utcz.com/z/374729.html

回到顶部