事件修饰符
上节课我们学习了事件处理器:v-on:
本节课我们学习的就是在这基础上,增加一些修饰的技术。具体写法就是:
v-on:属性名字.修饰符 =
.stop 阻止冒泡
用click点击事件举例的写法如下:
v-on:click.stop = '函数名'
那么这是什么意思呢?什么叫冒泡呢?
我们往下看。
假如现在有这么一个写法:
也就是说,外面和里面俩个div,都分别有各自的绑定事件。外面的弹出a,里面的弹出b。
这时候我们点击外面的字符串Say a,浏览器会弹出一个a,这没问题。
然后我们点击里面的字符串Say b,浏览器就会先弹出一个b,然后再弹出一个a !
这明显是有问题的,因为我们不想让a函数跟着b后面执行。但是没办法,这种嵌套元素,并且外里都有各自的绑定事件的情况很常见。
结果就是点击里面的,它会从里面开始执行,然后把外层的元素标签逐个执行一轮!
就像一个冒泡一样,从海底深处下开始冒泡,一直飘到水面。
那为了阻止这种情况产生,我们现在要学习的 修饰符就派上了用场:.stop()
.stop() 就是阻止冒泡的功能,也就是用了它,就不会产生上述的问题,到时候点哪就执行哪,不会连带着外层包裹的元素的事件都执行。
具体用法:
这种修饰符是不是很有用?而且它们还有很多。
.stop - 阻止冒泡
.prevent - 阻止默认事件
.capture - 阻止捕获
.self - 只监听触发该元素的事件
.once - 只触发一次
.left - 左键事件
.right - 右键事件
.middle - 中间滚轮事件
我们今后有时间会一个一个讲一遍,大家感兴趣的也可以自行百度学习。