本次遇见的问题是:在拒绝订单时,页面弹出了一个悬浮框用于输入拒绝理由。需要我做的是:弹出悬浮框时,点击页面其它位置时会将悬浮框隐藏。
在此处贴出代码:
//拒绝弹出框在点击弹出框其它位置时,隐藏弹出框
$(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或其子元素
});