【问题标题】:How can I obtain the current mouse position in Google Closure?如何在 Google Closure 中获取当前鼠标位置?
【发布时间】:2012-08-02 02:55:32
【问题描述】:
我正在使用 Google Closure javascript 库制作拖放应用程序。
如何在拖动事件中检测鼠标的当前位置?
var dragOverCallBack = function (e) {
console.log(e.somehowGetMouseXPosition());
}
我试过e.clientX 和e.pageX 无济于事(两者都未定义)。
【问题讨论】:
标签:
google-closure
google-closure-library
【解决方案1】:
我不确定为什么 e.clientX 和 e.pageX 会是未定义的,除非 e 被作为未定义的形式传递,这意味着您的回调设置不正确。我会尝试在您的回调中运行运行 console.debug(e) 并在 chrome 的开发人员工具控制台中查看该对象。它可能会提供对传递给您的事件对象的一些见解。
除了 e.clientX 和 e.pageX 之外,还存在各种其他选项,它们为不同用途(e.offsetX、e.screenX 等)提供鼠标坐标This article 很好地涵盖了这些不同的坐标。您可以尝试其中一些,看看是否可以得到任何东西。
【解决方案2】:
更好的方法是尝试控制您的全局对象,例如 console.log(goog) 或 console.log(goog.fx)。您可以从闭包对象中获取对象。