我不明白为什么会这样……
我需要获取startPoint在 mousedown 上设置的对象和e.pageY来自 mousemove 的电流来进行一些计算。
var adjustHeight = {
change: function(e) {
console.log(this.startPoint)
console.log(e.pageY);
},
};
$('#dragger').mousedown(function(e) {
e.preventDefault();
adjustHeight.startPoint = e.pageY;
$(window).on('mousemove', adjustHeight.change());
$(window).on('mouseup', function() {
$(window).off('mousemove', adjustHeight.change())
});
})
然而,控制台打印出startPoint我所期望但e.pageY未定义的对象
但是当我改用这条线时
...
$(window).on('mousemove', adjustHeight.change);
$(window).on('mouseup', function() {
$(window).off('mousemove', adjustHeight.change)
});
...
我得到了e.pageY预期的结果,但现在startPoint未定义。当我检查this指向它的是 DOMWindow ....
我的问题是为什么会发生这种情况,我将如何同时获取对象属性和函数e?