测试程序
测试1:初始状态下事件触发是冒泡模式下触发,点击div4输出:4 3 2 1;
测试2 .stop :在div3上添加.v-on:click.stop="out(3)"
结果:点击div3 只输出3
点击div4 输出4 3
所以.stop的作用为使事件冒泡到该处为止,不再向外层元素冒泡
测试3 .capture :在初始状态的程序div2上添加一个v-on:click.capture="out(2)"
结果:点击div2 输出 2 1
点击div3 输出 2 3 1
点击div4 输出 2 4 3 1
所以.capture会使事件在捕获阶段触发。
发现如果在div2上添加 v-on:click="out(5)",则会在冒泡阶段触发div2的事件,div2上发生两次事件
测试4:.self div3上添加v-on:click="out(3)"
结果: 点击div3时 输出 3 2 1
点击div4时 输出 4 2 1 没有触发div3的事件
所以.self能够使该元素的只能单击自己时触发事件,同时这种情况下自己也会加入冒泡;但是不会加入其内部元素触发的冒泡中
测试5:.once div3上添加v-on:click="out(3)"
结果: 单击div4 输出 4 3 2 1
再次单击div4 输出 4 2 1
单击div3 输出2 1
所以 .once的作用使让该时间函数只会触发一次,不管是否是单击该元素触发还是在其他元素的冒泡阶段触发。