我有这个HTML页面
<html>
<body>
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
<div id='in_or_out'>e</div>
<div>f</div>
</body>
</html>
a、b、c、d、e和f也可以是div,而不仅仅是纯文本。
我想得到鼠标点击事件,但是我怎么知道它是在#in_or_out目录的内部还是外部呢?
编辑::伙计们,我知道如何检查div是否被单击,但我希望在单击位于该div之外时触发事件
发布于 2010-02-15 18:43:51
$("body > div").click(function() {
if ($(this).attr("id") == "in_or_out") {
// inside
} else {
// not inside
}
});
编辑:刚刚了解到,有一个否定:
$("body > div:not(#in_or_out)").click(function(e) {
// not inside
});
发布于 2010-02-15 18:43:54
如果您想要检测您是否在div内部或外部单击,请在documentElement
上设置事件处理程序,并让它从其他元素向上传播:
$("html").click(function (e)
{
if (e.target == document.getElementById("in_or_out"))
alert("In");
else
alert("Out!");
});
发布于 2010-02-15 18:57:27
也许这个会对你有帮助
$('body').click(function(){
//do smth
});
$('div#in_or_out').click(function(e){
e.stopPropagation();
// do smth else
});
https://stackoverflow.com/questions/2265297
复制相似问题