2011-03-18 57 views
0

我试图确定点击是否发生在某个节点内部。我的想法是采取节点并遍历所有后代,测试每个节点是否是点击事件目标。遍历所有后代yui3/javascript

我不确定在YUI3中获取指定节点的所有后代的最佳方法是什么。如果它在yui3中很复杂,我很乐意在纯JS中做到这一点。如果有人有更好的做法,我也会接受另一种方法。

在此先感谢您的帮助。

回答

0

我目前的解决方案(在YUI3),以防万一有人有同样的问题。随意对其进行改进。

function isChild(targetNode, wrapperNode) { 
     var descendants = wrapperNode.all('*'); 
     var counter = 0; 
     descendants.each(function(node) { 
      if(node == targetNode) { 
       counter++; 
      } 
     }); 
     return (counter > 0) ? true : false; 
    } 
0

如果我了解情况,您感兴趣的节点包含一些可能会收到点击的节点。如果是这种情况,点击事件会冒泡到父节点,因此在该节点上单击就足够了。

然后再次,它可能是更复杂的,你需要做的,在这种情况下,如果我误解道歉。