diff --git a/packages/regl-worldview/src/camera/CameraListener.js b/packages/regl-worldview/src/camera/CameraListener.js index 0f2f8fc64..c2d5483b4 100755 --- a/packages/regl-worldview/src/camera/CameraListener.js +++ b/packages/regl-worldview/src/camera/CameraListener.js @@ -68,6 +68,7 @@ export default class CameraListener extends React.Component { }; listen(document, "blur", this._onBlur); listen(window, "mouseup", this._onWindowMouseUp); + _el.addEventListener("wheel", this._onWheel, { passive: false }); } componentWillUnmount() { @@ -75,6 +76,11 @@ export default class CameraListener extends React.Component { listener.target.removeEventListener(listener.name, listener.fn); }); this._endDragging(); + const { _el } = this; + if (!_el) { + return; + } + _el.removeEventListener("wheel", this._onWheel, { passive: false }); } _getMouseOnScreen = (mouse: MouseEvent) => { @@ -405,7 +411,6 @@ export default class CameraListener extends React.Component { ref={(el) => (this._el = el)} onMouseDown={this._onMouseDown} onMouseUp={this._onMouseUp} - onWheel={this._onWheel} onBlur={this._onBlur} onContextMenu={this._onContextMenu} onKeyDown={this._onKeyDown}