大家都知道,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)