【发布时间】:2012-02-26 12:40:10
【问题描述】:
我正在用Raphael.js 编写一些应用程序。它应该处理鼠标拖动事件。
也就是说,当鼠标拖动结束时,我尝试捕捉 Raphael 的 Paper 对象(实际上是 DIV / SVG 元素)上鼠标引起 drop 事件的点。
FireFox 和 Chrome 在 event.layerX 和 event.layerY 属性方面表现良好。但是 Opera 没有这些。
它有 clientX / clientY、offsetX / offsetY 和 pageX / pageY 属性(可能在最后两个名称中出现错误)。但我无法创建任何算法来计算最终鼠标位置。
看,鼠标开始“拖动”电路符号的引脚(没有实际拖动它的图像)并结束落在另一个上:
所以,Opera 在鼠标引起 drop 事件时会显示类似 (5, 7) 的坐标。我假设这些是第二个引脚周围的坐标。但我不需要那些 - 使用它们我找不到用户尝试连接的 pin。
所以,问题是:你知道在调用 drop 事件时找到鼠标光标坐标的任何方法,相对于它正在丢弃的父元素(例如Raphael 的Paper 对象和/或其容器在所描述的情况下)。
【问题讨论】:
-
查看此页面以直观了解不同的鼠标事件属性gtalbot.org/DHTMLSection/WindowEventsO7.html
标签: javascript events mouse raphael opera