我不明白为什么会这样……
我需要获取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
?