Срабатывает ли событие mousemove при назначении

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

У меня есть следующий код:

    // Here is where I would like to set an initial state but don't know how to get the coordinates

    thing.addEventListener('mousemove', function (e) {
        // Here is where I update based on new e.clientX and e.clientY
    });

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

Знает ли кто-нибудь, что это преднамеренное поведение, на которое я могу положиться?

1 ответ

  1. Согласно моим тестам на Windows 7, mousemoveсобытие не запускается автоматически при нажатии кнопки в двух ситуациях:

    1. Что делать, если события» mousemove «и» click » запускаются одновременно?

    2. Когда кнопка имеет фокус и нажата с пробелом (в IE, Chrome и Firefox)

    Как вы говорите, получение позиции мыши вне обработчика событий, и особенно перед любым действительным действием мыши, кажется невозможной задачей.