我有一个Web应用程序,单击HTML中的任何节点后,需要检索其父节点的childNodes数组中的该节点的索引。但是,我无法通过onclick事件获取当前选定的节点。该事件的返回目标是元素中包含的element
而不是具体的node
。获取HTML节点(不一定是元素)在点击
<div>This is Node 1<span>node 2</span>, node 3, and <span>node 4</span></div>
如果你点击了跨度为节点2或节点4,它是直接地知道你在哪里:当存在文本节点,如这种差异是很重要的。但是,如果您单击节点1和节点3的文本,我似乎无法找到事件将帮助您确定哪些部分实际内容被点击的位置。
这种情况很重要,因为后面的操作需要检查文档中的某些属性,无论是前进还是后退,直到第一次匹配。所以,如果节点2和节点4都是匹配的搜索,我需要知道我是否在节点1或节点3中,以便知道哪一个返回。例如,如果向右搜索,则从节点1开始意味着应该返回节点2,并且从节点3开始意味着应该返回节点4。显然,这是一个简化,但它表明了这个问题。有谁知道这个标准的解决方案?如果我能得到节点对象或索引,那应该就足够了。 jquery很好,但没有必要。
在得到这个问题之后,在摆弄这段时间和一段时间之后,似乎jquery onclick事件可能通过以下方式获得了此信息:event.originalEvent.explicitOriginalTarget。但是,我不确定是否有人使用此目的。 – Namey
到目前为止,这实际上看起来可能会起作用,尽管我目前只在FireFox上进行了测试。跨浏览器兼容性的任何输入都是有价值的。 – Namey
我正在查看chrome dev工具中的event.originalEvent,但看不到任何东西。只是再次检查,它绝对不存在于Chrome中(google-chrome for linux,build 36.0.1985.125) –