1

我正在尝试使用 Adob​​e Animate 创建交互式 HTML5 动画,但我的事件侦听器未正确添加或删除时遇到问题。

我的意图是让动画始终监听 mousedown 事件。当它触发时,我想同时监听 mousemove 和 mouseup 事件。当 mousemove 触发时,画布上的对象将随着光标移动,并且当 mouseup 触发时,mousemove 和 mouseup 的事件侦听器都将被删除。但是,事件侦听器似乎仍然存在。我在下面提供了我的代码;任何帮助,将不胜感激!

var canvas = document.getElementById('canvas');
canvas.addEventListener('mousedown', drag.bind(this));

function drag(event) {
    
    canvas.addEventListener('mousemove', dragging.bind(this));
    canvas.addEventListener('mouseup', stopDragging.bind(this));
    
    function dragging(event) {
        /* DRAG PROGRAM LOGIC */
    }
    
    function stopDragging(event) {
        canvas.removeEventListener('mousemove', null);
        canvas.removeEventListener('mouseup', null);
    }
}
4

0 回答 0