获取鼠标单击发生的html元素?

时间:2011-03-03 13:57:20

标签: javascript html events dom

在javascript中,我希望能够确定html页面中发生鼠标单击的元素。请注意,元素不会附加事件侦听器。

基本上:光标位于页面的某个位置,用户单击鼠标,捕获鼠标单击事件,获取发生单击的元素。这可能吗?

我想到的一种方法是获取click事件的x,y坐标,遍历DOM获取每个元素的位置,并找到包含click事件的最内层元素。听起来有点啰嗦 - 所以想知道是否还有另一种方式。

2 个答案:

答案 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。该页面上有一个示例,说明如何使用它。