Как я могу получить текущую позицию мыши в Google Closure?

Я делаю приложение для перетаскивания с библиотекой javascript Google Closure.

Как определить текущую позицию мыши в событии перетаскивания?

var dragOverCallBack = function (e) {
  console.log(e.somehowGetMouseXPosition());
}

Я пробовал e.clientX и e.pageX безрезультатно (оба не определены).


person dangerChihuahua007    schedule 02.08.2012    source источник


Ответы (2)


Я не уверен, почему e.clientX и e.pageX будут неопределенными, если e не передается как неопределенное, что будет означать, что ваш обратный вызов настроен неправильно. Я бы попробовал запустить console.debug(e) в вашем обратном вызове и посмотреть на объект в консоли инструментов разработчика Chrome. Это может дать некоторое представление об объекте события, который передается вам.

Помимо e.clientX и e.pageX существуют различные другие варианты, которые предлагают координаты мыши для различных целей (e.offsetX, e.screenX и т. д.) Эта статья достаточно хорошо описывает эти различные координаты. Вы можете попробовать некоторые из них, чтобы увидеть, сможете ли вы что-нибудь получить.

person Abe Haskins    schedule 02.08.2012

Лучший способ - попытаться консольировать ваш глобальный объект, например console.log(goog) или console.log(goog.fx). Вы можете получить объекты из объекта закрытия.

person Vinod    schedule 05.09.2012