vue 2.0 @click.self 不触发

vue 2.0 使用@click.self 绑定自身事件不触发是怎么回事?

场景:
移动端开发,点击蒙层关闭弹窗,但是不能触发蒙层上的div盒子,也即是触发父级,事件不会传递给子级

vue提供了一个.self修饰符,以前使用过,这次突然不好使了,不知道怎么回事。。。

阅读 8.3k
3 个回答
<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="close" ref="pop">
    <button></button>
</div>

<!--

给组件绑定原生事件

有时候,你可能想在某个组件的根元素上监听一个原生事件。可以使用 .native 修饰 v-on 

-->

<my-component v-on:click.native.self="close"></my-component>

close(e) {
    console.log(e.target)
    this.$refs.pop.style.display = 'none'
}

你的div盒子是不是子组件,如果是子组件的话目测你要加个@click.native吧,官方文档有写的,搜搜看。

@click.native.self

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题