Fixed Unable to preventDefault errors in Chrome

This commit is contained in:
hazam 2020-01-05 01:02:19 +05:00
parent 1ef66441c3
commit 59effbc796

View file

@ -1110,13 +1110,12 @@ class App extends React.Component<{}, AppState> {
id="canvas" id="canvas"
width={window.innerWidth - CANVAS_WINDOW_OFFSET_LEFT} width={window.innerWidth - CANVAS_WINDOW_OFFSET_LEFT}
height={window.innerHeight - CANVAS_WINDOW_OFFSET_TOP} height={window.innerHeight - CANVAS_WINDOW_OFFSET_TOP}
onWheel={e => { ref={canvas => {
e.preventDefault(); if (canvas) {
const { deltaX, deltaY } = e; canvas.addEventListener("wheel", this.handleWheel, {
this.setState(state => ({ passive: false
scrollX: state.scrollX - deltaX, });
scrollY: state.scrollY - deltaY }
}));
}} }}
onMouseDown={e => { onMouseDown={e => {
// only handle left mouse button // only handle left mouse button
@ -1394,6 +1393,15 @@ class App extends React.Component<{}, AppState> {
); );
} }
private handleWheel = (e: WheelEvent) => {
e.preventDefault();
const { deltaX, deltaY } = e;
this.setState(state => ({
scrollX: state.scrollX - deltaX,
scrollY: state.scrollY - deltaY
}));
};
componentDidUpdate() { componentDidUpdate() {
renderScene(rc, context, { renderScene(rc, context, {
scrollX: this.state.scrollX, scrollX: this.state.scrollX,