我用rxjs6升级到angular7:在mouseWheelEvent
类型我得到"Property 'wheelDelta' does not exist on type 'WheelEvent'"
。
我们对wheelDelta
有什么选择吗?
mouseWheelFunc(event: MouseWheelEvent): void {
// var event = window.event || event; // old IE support
let delta = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));
if ( delta > 0) {
this.mouseWheelUp.emit(event);
} else if ( delta < 0) {
this.mouseWheelDown.emit(event);
}
// for IE
event.returnValue = false;
// for Chrome and Firefox
if ( event.preventDefault) {
event.preventDefault();
}
}
src / modules / components / numeric-stepper / mousewheel.directive.ts中的错误(23,49):错误TS2339:类型'WheelEvent'上不存在属性'wheelDelta'。
似乎WheelEvent不再具有此属性,因为它说。现在他们添加了deltaY和deltaX。
现在你必须访问event.deltaY
而不是event.wheelData
。
但是deltaY具有与wheelData相反的值。这意味着当事件上的wheelData为正(向上滚动)时,deltaY将为负数,反之亦然。
例:
改变这个:
zoomScroll(event: WheelEvent) {
if (event.wheelDelta > 0) {
this.zoomIn();
} else if (event.wheelDelta < 0) {
this.zoomOut();
}
}
为了这:
zoomScroll(event: WheelEvent) {
if (event.deltaY < 0) {
this.zoomIn();
} else if (event.deltaY > 0) {
this.zoomOut();
}
}