Hiž*_*iiž 4 html javascript jquery dom
您如何检查网页上的点击是否属于特定内容<div>
?
我有一个<div>
带有嵌套子级的孩子,因此该$("div").click()
技术无效,因为单击内部的其他元素不会触发任何操作。
我确切需要的是:我单击页面上的1个元素,然后显示另一个更复杂的元素<div>
。当我单击此按钮之外时<div>
,我需要将其隐藏。
这看起来很简单,但是我已经几个小时无法解决了。
我不能使用focus / blur,因为它概述了元素。
我需要的是:单击1个元素(在本例中为链接),然后为其分配一个类。然后,我将相同的类放在链接的父级上。这是因为我需要显示哪个<div>
是链接的同级。
在我的CSS中,我有类似的东西parent.class{ mydiv{display:block;} })
。
当我单击页面上的其他位置时,我需要删除这些类。问题是当我单击所示的内容时<div>
,我的函数认为我单击了页面上的某个位置并删除了类。
我认为您最好的选择是为页面设置一个点击处理程序,并在每次触发时逐步进行处理。
$(document).click(function(e) {
var d = e.target;
// if this node is not the one we want, move up the dom tree
while (d != null && d['id'] != 'myDiv') {
d = d.parentNode;
}
// at this point we have found our containing div or we are out of parent nodes
var insideMyDiv = (d != null && d['id'] == 'myDiv');
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8373 次 |
最近记录: |