用了一次js的事件冒泡,记录一下

<div  @click='opendetail(item)'>

 <span @click='opensubdetail(subitem)'>

    CODEXXX

</span> 

</div>

上边的写法,点div的任何地方,包括点span(该span也属于div范围了),结果只有item被点击。原因是opensubdetail(subitem)实际也收到了事件请求。但是事件到分发到底部后会继续往上冒泡,结果响应的还是opendetail(item)

最终到只opensubitem事件无法被处理。

修改如下

<div  @click='opendetail(item)'>

 <span @click.stop='opensubdetail(subitem)'>

    CODEXXX

</span> 

</div>

跟span的事件改为 @click.stop就好了,原因是stop的意思是阻止冒泡,就是当opensubdetail收到事件后,不再往上冒泡了!!

如果是checkbox需要防止冒泡,还需要给该checkbox套上一层div来实现,

 <div @click.stop="">
   <el-checkbox @change=''>
   </el-checkbox>
</div>

 

参考:https://www.cnblogs.com/leftJS/p/10948138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值