我正在阅读有关dom事件传播的一些帖子,我明白了。但是,我真的很好奇浏览器如何知道单击了哪个文档元素(或光标位于上方)。
我假设操作系统提供了一些特殊的接口,浏览器可以通过该接口获取鼠标指针的坐标。如果是这样,浏览器可以只计算鼠标指针下的哪个文档元素,对吗? 为什么需要浏览器实现事件传播?只是为了知道发生在后代元素上的交互,以便可以通知祖先吗?
我将不胜感激任何支持的引用或评论。
答案 0 :(得分:3)
浏览器如何知道我的鼠标光标指向哪个元素?
Word等等知道光标在文档中的位置。
我假设操作系统提供了一些特殊的界面,浏览器可以通过该界面获取鼠标指针的坐标。
这不是“特殊”功能,但是,操作系统会通知应用程序鼠标所在的位置。
如果是这样,浏览器可以只计算鼠标指针下方的文档元素,对吧?
是的。就是这样。
为什么需要浏览器实现事件传播?
除了DOM specification和DOM UI Events specification中定义的内容外,没有其他任何功能,因为进行传播确实很有用。您可以从DOM UI Events规范的this section了解更多有关它的信息,其中除其他外,还有一个可爱的图表,极大地帮助了我几年前对该过程的理解:
答案 1 :(得分:0)