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

Ric*_*d H 19 html javascript events dom

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

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

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

Fel*_*ing 17

http://www.quirksmode.org是一个非常好的网站,解释了很多关于事件的内容.

特别是对于您的问题:事件属性 - 哪个HTML元素是事件的目标?.

在Internet Explorer中,您可以从该元素event的对象与event.srcElement[文件],并与所有其他浏览器event.target[文件].

另请参阅我链接到的示例中的"Safari bug"解决方法(虽然我不知道它是否仍然存在和/或在哪个版本的Safari中).

  • 谢谢,完美答案,很好地引用. (2认同)

Dou*_*las 5

试试event.target.该页面上有一个示例,说明如何使用它.

  • 也许最好链接到[MDC的文档](https://developer.mozilla.org/en/DOM/event.target),因为这与jQuery无关,可能导致错误的结论. (4认同)