From 136dd4a556ee7691ac8e64fb41821c10faa3361a Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 11 Jan 2019 18:20:34 +0100 Subject: [PATCH] stop resize operation when cursor leaves viewport as mouseup can't be detected outside of viewport --- src/resizer/resizer.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/resizer/resizer.js b/src/resizer/resizer.js index 16440bcc48..5d63073da9 100644 --- a/src/resizer/resizer.js +++ b/src/resizer/resizer.js @@ -115,16 +115,17 @@ export class Resizer { }; const body = document.body; - const onMouseUp = (event) => { + const finishResize = () => { if (this.classNames.resizing) { this.container.classList.remove(this.classNames.resizing); } distributor.finish(); - body.removeEventListener("mouseup", onMouseUp, false); + body.removeEventListener("mouseup", finishResize, false); + document.removeEventListener("mouseleave", finishResize, false); body.removeEventListener("mousemove", onMouseMove, false); }; - // TODO: listen for mouseout on document here as well - body.addEventListener("mouseup", onMouseUp, false); + body.addEventListener("mouseup", finishResize, false); + document.addEventListener("mouseleave", finishResize, false); body.addEventListener("mousemove", onMouseMove, false); }