前端开发日记之点击悬浮框之外的地方隐藏悬浮框

本次遇见的问题是:在拒绝订单时,页面弹出了一个悬浮框用于输入拒绝理由。需要我做的是:弹出悬浮框时,点击页面其它位置时会将悬浮框隐藏。

在此处贴出代码:

//拒绝弹出框在点击弹出框其它位置时,隐藏弹出框
            $(document).on('click',function(e){ 
	            if($('.reason').css('display')=="none")//reason为弹出框的className,为减少客服端压力,如果原来就是隐藏的直接返回
	            	return;	
	            var e = e || window.event; //浏览器兼容性 ,IE为window.event
	            var elem = e.target || e.srcElement; //IE为e.srcElement
	            if(elem.className=='ref')//ref为页面中的拒绝按钮,点击拒绝按钮时会弹出悬浮框;如果点击的ref就直接返回,不然悬浮框就永远弹不出来
	            	return;
	            while (elem) { //循环判断至跟节点,防止点击的是div子元素 
		            if (elem.className && elem.className=='reason') { 
		            	return; 
		            } 
	            	elem = elem.parentNode; 
	            } 
	            $('.reason').css('display','none'); //点击的不是div或其子元素 
            });

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值