大家都知道,vue中点击事件直接在元素中使用@click="click"即可,但是有时在一个元素中包含了子元素,而且父元素和子元素都有点击事件,此时我们希望的点击效果就是:点击子元素区域的的时候,不触发父级元素的点击事件,此时就要用到@click.stop="subclick"。
@click.stop与@click.prevent
@click.stop 阻止事件冒泡
@click.prevent 阻止事件的默认行为,
1
2
3
4
|
< a href = "http://www.baidu.com" @ click.prevent = "test4" >百度一下</ a > //阻止a标签跳转,仅执行函数test4 < form action = "/xxx" @ submit.prevent = "test5" > //阻止表单提交,仅执行函数test5 < input type = "submit" value = "注册" > </ form > |
vue @click.native 原生点击事件:
1,给vue组件绑定事件时候,必须加上native ,不然不会生效(监听根元素的原生事件,使用 .native 修饰符)
2,等同于在自组件中:
子组件内部处理click事件然后向外发送click事件:$emit("click".fn)