javascript - Opera、event.layerX/event.layerY 属性和 mouseDropped 事件

标签 javascript events mouse raphael opera

我正在用 Raphael.js 编写一些应用程序.它应该处理鼠标拖动事件。

也就是说,当鼠标拖动结束时,我试图捕获 Raphael 的 Paper 对象(DIV/SVG 元素,实际上)鼠标引起 drop 事件的地方。

FireFoxChromeevent.layerXevent.layerY 属性方面做得很好。但是 Opera 没有这些。

它有clientX/clientY, offsetX/offsetYpageX/pageY 属性(最后两个名称可能有误)。但我无法创建任何算法来计算最终的鼠标位置。

请看,鼠标开始“拖动”电路符号的引脚(没有实际拖动其图像)并结束落在另一个电路符号上:

enter image description here enter image description here

因此,Opera 在鼠标引起 drop 事件时显示类似 (5, 7) 的坐标。我假设这些是第二个引脚周围的坐标。但我不需要那些 - 使用它们我无法找到用户尝试连接的 pin。

所以,问题是:您知道在调用 drop 事件时找到鼠标光标坐标的方法吗,相对于它正在放下的父元素(例如Raphael 的 Paper 对象和/或其在所述情况下的容器)。

最佳答案

当鼠标按钮按下时,您能否在鼠标移动期间使用光标位置更新变量,并在触发放下时使用最后设置的值?

关于javascript - Opera、event.layerX/event.layerY 属性和 mouseDropped 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453153/

相关文章:

javascript - 更新仅发生在最后一行,而不是第一行

Android 检测来自任何应用程序的触摸状态

javascript - 运行默认 jQuery 函数后运行 Javascript 函数

winapi - Windows : Mouse Down on Window Decoration

javascript - 如何使用字符串变量访问对象属性?

JavaScript 按键

javascript - jquery 搜索并替换第 n 次出现的文本

facebook - 使用 Facebook Graph API v3.0 列出群组事件

c# - 让鼠标指针进行 super 跳跃?

mouse - NT 上的非 HID 鼠标驱动程序