点击页面空白处关闭气泡或弹层

1 点击div(更多)会出现一个气泡

2再次点击div或页面上除了气泡之外的地方,气泡关闭  如下图所示 :


解决方法:

<html>

< div class = " no-solved " id= " moreList " ng-class = " {'active':moreSupply} " ng-click = " moreSomething() " >更多 </ div >
< div class = " bubble " ng-show = " moreSupply " id= " detailList " >
< div class = " tag " ng-model = " bubbleList " >
< div class = " tag-title " ng-click = " doMore() " >指派工程师 </ div >
< div class = " tag-title " ng-click = " doMore() " >驳回 </ div >
< div class = " tag-title " ng-click = " doMore() " >申请挂起 </ div >
< em ></ em >
</ div >
</ div >

</html>

<script>

// 底部气泡框显示和隐藏
// 点击更多显示与隐藏气泡
var oMoreList = document . getElementById ( " moreList " );
oMoreList. addEventListener( " click ", function( event){
$scope. moreSupply = ! $scope. moreSupply;
event = event || window. event;
event. stopPropagation(); // 阻止事件冒泡,防止隐藏
});
// 点击气泡列表不隐藏
var oDetailList = document. getElementById( " detailList ");
oDetailList. addEventListener( " click ", function( event){
$scope. moreSupply = true;
event = event || window. event;
event. stopPropagation();//阻止事件冒泡
});
// 点击页面空白处隐藏气泡
document. addEventListener( " click ", function(){
$scope. moreSupply = false;
$scope. $apply(); // 隐藏气泡
});

</script>

总结:点击气泡里的div时会触发document的监听事件,所以要用event.stopPropagation阻止父级的点击事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值