Справочник API

event.pageX в jQuery

Содержание статьи
  • Категории: Events › Event Object

    Содержит горизонтальную координату события от мыши относительно начала координат document (левого края страницы).

Синтаксис и описание:

  • Добавлено в jQuery 1.0.4event.pageX

  • Свойство event.pageX содержит горизонтальную координату указателя мыши в момент события — расстояние в пикселях от левого края всего документа (с учётом прокрутки страницы), а не только видимой области окна.

  • Работает у событий мыши (click, mousemove, mousedown и т. п.) и у событий указателя/касаний, где браузер формирует координаты страницы.

  • Значение растёт при прокрутке страницы вниз или вправо: если пользователь прокрутил документ на 300 пикселей вниз и кликнул в верхней части видимой области, event.pageY всё равно покажет расстояние от самого верха документа, а не от верха окна.

Возвращаемое значение: (число) координата в пикселях.

  1. Примечание: pageX часто путают с соседними координатами события мыши — вот в чём разница.

    СвойствоОтсчитывается отУчитывает прокрутку
    event.pageX / pageYлевого/верхнего края документада
    event.clientX / clientYлевого/верхнего края видимой области окнанет
    event.screenX / screenYлевого/верхнего края экрананет
    event.offsetX / offsetYлевого/верхнего края целевого элемента (нативное свойство, jQuery копирует его как есть)—
  2. Ещё момент:

    Если страница не прокручена (scrollX и scrollY равны нулю), значения pageX и clientX совпадают — разница появляется только после прокрутки. Для событий на мобильных устройствах (касания) аналогичные координаты лежат в event.originalEvent.touches[0].pageX, так как у TouchEvent координаты хранятся не на самом событии, а внутри списка касаний, и jQuery их автоматически не нормализует.

  3. В jQuery 3.x и 4.0:

    Свойство работает без изменений. Это нормализованная jQuery-версия — на чистом JavaScript у события мыши те же данные лежат в event.pageX/event.pageY напрямую (это стандартные свойства MouseEvent; jQuery их не вычисляет, а просто берёт из event.originalEvent).

Примеры:

  1. Выводим координаты курсора при движении мыши по документу:

    $( document ).on( "mousemove", function ( event ) {
      $( "#coords" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
    } );
  2. Показываем всплывающую подсказку рядом с курсором в точке клика:

    $( "#area" ).on( "click", function ( event ) {
      $( "#tooltip" )
        .css( { left: event.pageX + 10, top: event.pageY + 10 } )
        .text( "Клик здесь" )
        .show();
    } );

[ наверх ]

Вопросы и ответы

Для чего используется event.pageX в jQuery?

Содержит горизонтальную координату события от мыши относительно начала координат document (левого края страницы).

Поиск по материалам

Начните вводить — поиск работает по заголовкам и тексту.

Esc — закрытьВсе материалы →