如果我在div中单击,如何使用javascript / jquery进行检查?(我在这里进行过研究-我需要做得更好)

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>,我的函数认为我单击了页面上的某个位置并删除了类。

lin*_*lnk 5

我认为您最好的选择是为页面设置一个点击处理程序,并在每次触发时逐步进行处理。

  $(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)