在对象中时未触发Javascript mousemove事件

在对象中时未触发Javascript mousemove事件,javascript,events,scope,mousemove,Javascript,Events,Scope,Mousemove,我希望你做得很好。 我的问题是: 此代码工作正常: var imageMover = { mouseDown: function(e) { e.target.addEventListener("mousemove", mouseMoved, false); console.log('mouseDown'); }, mouseUp: function(e) { e.target.removeEventListener("mou

我希望你做得很好。 我的问题是:

此代码工作正常:

var imageMover = {
    mouseDown: function(e) {
        e.target.addEventListener("mousemove", mouseMoved, false);
        console.log('mouseDown');
    },
    mouseUp: function(e) {
        e.target.removeEventListener("mousemove", mouseMoved, false);
        console.log('mouseUp');
    }
};
function mouseMoved(e) {
    console.log("mouseMoved");
}
而这一条不是:

var imageMover = {
    mouseDown: function(e) {
        e.target.addEventListener("mousemove", this.mouseMoved, false);
        console.log('mouseDown');
    },
    mouseUp: function(e) {
        e.target.removeEventListener("mousemove", this.mouseMoved, false);
        console.log('mouseUp');
    },
    mouseMoved: function(e) {
        console.log("mouseMoved");
    }
};
给你一点背景:有一些缩略图你可以点击。 当您单击它时,图像将添加到容器中,并且mouseUp和mouseDown事件将添加到图像中。 当有人点击图片时,我希望事件mouseMouve被附加,这样我就可以跟踪图片的位置

mouseUp和mouseDown连接良好,触发良好,但mouseMouve仅在不在imageMover对象内时才起作用。 这似乎是一个范围问题,但我不明白为什么会这样


提前,非常感谢

this from this.mouseMoved引用的是事件目标,它是DOM元素,而不是存储方法的对象

var-imageMover={
mouseDown:函数(e){
log('this is reference=>',this);
e、 target.addEventListener(“mousemove”,this.mouseMoved,false);
}
};
document.querySelector('.container').addEventListener('mousedown',imageMover.mousedown)
.container
{
宽度:500px;
高度:100px;
边框:1px实心#000;
}

您如何调用
imageMover
。如果您可以直接共享htmlExactly,效果会更好!谢谢。所以,我只需要用imageMover.mouseDown替换这个.mouseDown就行了。