В Javascript или JQuery при выполнении добавления/удаления события mousemove

Мне нужно местоположение, когда я впервые нажимаю на экран. Я сделал это. Но мне нужно больше. Событие mousemove также запускается при запуске события mousedown. Событие mousemove не будет работать при запуске события mouseup

    $("#canvas").mousedown(function (e) {
        console.info("First: down position: " + e.pageX + "---" + e.pageY);
        canvasMove("canvas");
    });

    $("#canvas").mouseup(function (e) {
        console.info("Last: up position: " + e.pageX + "---" + e.pageY);
    });
    function canvasMove(id) {
        $(id).mousemove(function (e) {
            console.info("move position: " + e.pageX + "---" + e.pageY);
        });
    }

Итак, как мне удалить событие mousemove в событии mouseup?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
$("#canvas").off('mousemove')

Если у вас есть что-то еще, прослушивающее мышь, вы можете прикрепить свой обработчик с событием в пространстве имен, например

$("#canvas").on('mousemove.loggingPosition')

а затем удалить его

$("#canvas").off('mousemove.loggingPosition')

Вы можете сделать что-то подобное, используя методы on и off:

function canvasMove(id) {
    $(id).on("mouseup",function (e) {
        $( this ).off("mousemove");
        console.info("move position: " + e.pageX + "---" + e.pageY);
    });
}

Для получения дополнительной информации посетите здесь

bind и unbind устарели - вместо этого используйте on и off

Pete 15.05.2019 11:48

Другие вопросы по теме

Библиотека MPDF вызывает проблемы с кешем при загрузке ajax (blob)
Событие множественного клика с одной функцией с использованием javascript и jquery. Этот код работает нормально, но нужен простой код
Преобразование всех элементов даты/даты и времени в локальный часовой пояс
Понимание синтаксиса on() с нестандартным именем события
Поиск значений заполнителей в 2 строках
Как получить конкретные данные из базы данных postgresql, когда пользователь входит в систему после того, как администратор назначает данные с помощью codeigniter?
Добавить кнопку действия в заказы моей учетной записи Woocommerce, которые открываются в новом окне
Javascript: дождитесь завершения вызова AJAX, прежде чем инициировать действие, инициированное пользователем
Как я могу сделать POST-запрос в своей локальной сети, если источником является http, а целевым URL-адресом является https?
Поле ввода не появляется после изменения поля выбора