Найти позицию события (наведите курсор мыши на кнопку), для расширения Firefox - PullRequest
2 голосов
/ 22 июня 2011

Мне нужно найти позицию события (наведите курсор мыши на кнопку) для расширения Firefox.Я использовал:

var obj = $mb(e.target,doc).offset();
var left = obj.left;
var top = obj.top;

Но проблема в том, что возвращаемое им значение - это позиция события на экране, а не на странице, то есть она не учитывает позицию прокрутки {inFirefox} .. (но в Google Chrome он работает).

Затем я использовал положение мыши.

var obj_left = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);

Но проблема в том, что он возвращает разные значения в соответствии с положением мыши, которое вызывает событие(разные значения для одной и той же кнопки на двух концах кнопки), но в первом случае, даже если он возвращает позицию на экране, он возвращает одно значение для события (одно значение для кнопки на двух концах).

Мне нужно, чтобы возвращаемое значение было одинаковым для события и должно учитывать положение прокрутки.

1 Ответ

1 голос
/ 22 июня 2011

События мыши в Firefox имеют свойство pageX и clientX (см. Документацию по https://developer.mozilla.org/en/DOM/event.pageX и https://developer.mozilla.org/en/DOM/event.clientX соответственно).Кажется, что pageX это то, что вы хотите - положение относительно текущей страницы, независимо от прокрутки.pageX не является стандартным и, вероятно, не реализован в Chrome, но jQuery, похоже, предоставляет это свойство в кросс-браузерном режиме, см. http://api.jquery.com/event.pageX/.

...