window.event在发生单击时报告树中的最低元素。 e.g。
<a href="http://server.com/page.aspx" id="anchor">
<span id="span" class="Someclass">
<strong id="strong">Submit</strong>
</span> </a>
当您点击上面的链接并且如果您在BODY级别有onclick listner时,window.event将报告单击了“strong”元素。在同一事件中,我如何知道父实际上是一个“锚点”标签,其href指向某处?即我正在寻找一种自动方式让我知道主要元素是“锚”而不是“强”元素。 我显然不能做window.event.target.parentNode.parentNode,因为这将是手动检查。可能是某个地方我可以跟随点击事件的“冒泡”。
任何人都有任何线索?
答案 0 :(得分:2)
您可以自动检查祖先。
var element = foo;
while (foo !== document.body) {
if (foo === someCondition) {
return foo;
}
foo = foo.parentNode;
}
return false;
大多数图书馆都有一种方法可以做到这一点。例如YUI 3有Node.ancestor,jQuery有closest。