在javascript中,我希望能够确定html页面中发生鼠标单击的元素。请注意,元素不会附加事件侦听器。
基本上:光标位于页面的某个位置,用户单击鼠标,捕获鼠标单击事件,获取发生单击的元素。这可能吗?
我想到的一种方法是获取click事件的x,y坐标,遍历DOM获取每个元素的位置,并找到包含click事件的最内层元素。听起来有点啰嗦 - 所以想知道是否还有另一种方式。
答案 0 :(得分:17)
http://www.quirksmode.org是一个非常好的网站,可以解释很多关于事件的信息。
特别是对于您的问题:Event properties - Which HTML element is the target of the event?。
在Internet Explorer中,您可以使用event.srcElement
[docs]的event
对象和event.target
[docs]的所有其他浏览器获取该元素。
另请参阅我链接到的示例中的“Safari bug”解决方法(虽然我不知道它是否仍然存在和/或在什么版本的Safari中)。
答案 1 :(得分:5)
试试event.target。该页面上有一个示例,说明如何使用它。