Dcloud H5+开发 mui-checkbox tableview listview子标签与父标签点击事件

【本文出处: http://blog.csdn.net/leytton/article/details/53843344

a标签里面嵌套一个a标签,点击子链接标签时,同时触发了父标签a。这样的场景有很多,例如下面代码:

参考:https://segmentfault.com/q/1010000004533969

<a href="baidu.com">
    <div>
        <div class="title">百度</div>
        <div class="content">百度是全球最大的中文搜索引擎...
            <span οnclick="location.href='readmore.html'" href="X.html" target="_blank">Read More</span>
        </div>
    </div>
</a>

如果我们想点击子标签而不触发父标签事件怎么办呢?

< a href = "baidu.com" > <div > <div class = "title" > 百度 < /div>
                <div class="content">百度是全球最大的中文搜索引擎...
                    <span href="X.html" target="_blank" id="readmore">Read More</span > </div>
            </div > </a>
        <script>
            document.getElementById("readmore").addEventListener("click",function(e){
                 e.stopPropagation();
                 //不能return false;因为 return false 表示两个动作
                 // e.stopPropagation();
                 //e.preventDefault();  这个会让点了 a 不跳转
                 //接下来使用js代码进行页面跳转
});
</script>

同理 在listview/tableview中的button事件与父标签点击事件也可以这样实现避免冲突

mui-checkbox也是如此

此外防止mui-checkbox点击label导致触发两次checkbox的change事件,屏蔽input点击事件

.mui-checkbox>input {
				pointer-events: none;
			}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值