假设对象的id为divBtn,则代码如下,但不支持IE8:
$('body').bind('click', function(event) { // IE支持 event.srcElement , FF支持 event.target var evt = event.srcElement ? event.srcElement : event.target; if(evt.id == 'divBtn' ) return; // 如果是元素本身,则返回 else { $('#指定元素').hide(); // 如不是则隐藏元素 } });
方法二:支持IE8
$(document).bind('click', function(e) { var e = e || window.event; //浏览器兼容性 var elem = e.target || e.srcElement; while (elem) { //循环判断至跟节点,防止点击的是div子元素 if (elem.id && elem.id == 'test' || elem.id == 'datepk') { console.log(1 ) $('.kalendae').css('display','inline-block'); return; } elem = elem.parentNode; } // $('#test').css('display', 'none'); //点击的不是div或其子元素 $('.kalendae').css('display','none') });