我正在尝试确定某个节点内是否发生了点击。我这样做的想法是将节点和循环遍及其所有后代,测试每个节点是否为click事件目标。
我不确定获取指定节点的所有后代的最佳方法是在YUI3中。如果它在yui3中变得复杂,我愿意在普通的JS中这样做。如果有人有更好的方法,我也会接受另一种方法。
提前感谢您的帮助。
答案 0 :(得分:1)
var isChild = wrapperNode.contains(targetNode);
http://developer.yahoo.com/yui/3/api/Node.html#method_contains
答案 1 :(得分:0)
你想要创造什么,听起来很像点击授权。
我不做YUI,但您可以在YUI3中阅读事件委托:
答案 2 :(得分: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;
}
答案 3 :(得分:0)
如果我了解这种情况,您感兴趣的节点包含一些可能会获得点击的节点。如果是这种情况,click事件将冒泡到父节点,因此监听该节点上的单击就足够了。
然后,你需要做的事情可能更复杂一些,在这种情况下,如果我误解了道歉。