2 apbbbbb apbbbbb 于 2016.04.19 14:44 提问

怎样写一个点击事件,除了某一个div区域不执行,其它点击都执行,求指教
$('body').not($("#dropzone")).bind('click', function() {

    //$("#dropzone").slideUp("normal");
});

3个回答

showbo
showbo   Ds   Rxr 2016.04.19 14:59

    $('body').bind('click', function (e) {
        var o = e.target;
        if($(o).closest('#dropzone').length==0)//不是特定区域
                   $("#dropzone").slideUp("normal");
    });
magicioney
magicioney 顶,closest保证该DIV的子元素也会判断为当前区域。
一年多之前 回复
magicioney
magicioney   2016.04.19 14:50

在外层加点击事件,判断target为某一个div,直接return

magicioney
magicioney   2016.04.19 14:53

$("body").bind("click", function(e){
if(e.target == $("#dropzone")[0]){
return
} else {
alert("get!");
}
})

magicioney
magicioney 主要运用了事件的冒泡,感兴趣可以搜一下相关知识~
一年多之前 回复
magicioney
magicioney 啊 写的有点坑,应该是 e.target != $("#drepzone")[0] 然后执行,这种逻辑更清晰。我没验证,不过估计好使。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!