0

当点击发生时,window.event 报告树中的最低元素。例如

<a href="http://server.com/page.aspx" id="anchor">
<span id="span" class="Someclass">
    <strong id="strong">Submit</strong> 
</span> </a>

当您点击上面的链接并且如果您在 BODY 级别有 onclick 列表时,window.event 将报告“强”元素被点击。在同一事件中,我怎么知道父级实际上是一个“锚”标签,其 href 指向某处?即我正在寻找一种自动方式让我知道主要元素是“锚”而不是“强”元素。我显然不能做 window.event.target.parentNode.parentNode 因为这将是手动检查。可能在某个地方我可以跟随点击事件的“冒泡”。

任何人有任何线索?

4

1 回答 1

2

您可以自动检查祖先。

var element = foo;
while (foo !== document.body) {
    if (foo === someCondition) {
      return foo;
    }
    foo = foo.parentNode;
}
return false;

大多数库都有内置的方法。例如 YUI 3 有Node.ancestor,而 jQuery 有最接近的

于 2010-06-07T19:49:56.400 回答