|
@@ -831,6 +831,7 @@ class App extends React.Component<AppProps, AppState> {
|
831
|
831
|
});
|
832
|
832
|
|
833
|
833
|
private removeEventListeners() {
|
|
834
|
+ document.removeEventListener(EVENT.POINTER_UP, this.removePointer);
|
834
|
835
|
document.removeEventListener(EVENT.COPY, this.onCopy);
|
835
|
836
|
document.removeEventListener(EVENT.PASTE, this.pasteFromClipboard);
|
836
|
837
|
document.removeEventListener(EVENT.CUT, this.onCut);
|
|
@@ -872,6 +873,7 @@ class App extends React.Component<AppProps, AppState> {
|
872
|
873
|
|
873
|
874
|
private addEventListeners() {
|
874
|
875
|
this.removeEventListeners();
|
|
876
|
+ document.addEventListener(EVENT.POINTER_UP, this.removePointer); // #3553
|
875
|
877
|
document.addEventListener(EVENT.COPY, this.onCopy);
|
876
|
878
|
if (this.props.handleKeyboardGlobally) {
|
877
|
879
|
document.addEventListener(EVENT.KEYDOWN, this.onKeyDown, false);
|
|
@@ -1328,7 +1330,7 @@ class App extends React.Component<AppProps, AppState> {
|
1328
|
1330
|
this.setState(obj);
|
1329
|
1331
|
};
|
1330
|
1332
|
|
1331
|
|
- removePointer = (event: React.PointerEvent<HTMLElement>) => {
|
|
1333
|
+ removePointer = (event: React.PointerEvent<HTMLElement> | PointerEvent) => {
|
1332
|
1334
|
// remove touch handler for context menu on touch devices
|
1333
|
1335
|
if (event.pointerType === "touch" && touchTimeout) {
|
1334
|
1336
|
clearTimeout(touchTimeout);
|