插件窝 干货文章 jquery 点击除自身元素外所有地方触发事件

jquery 点击除自身元素外所有地方触发事件

js.jquer jq click 点击事件 bind 782    来源:插件窝    2021-07-16

假设对象的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')
});