Skip to content
This repository was archived by the owner on Sep 1, 2020. It is now read-only.

Commit 646865d

Browse files
danboveyvkbansal
authored andcommitted
Remove e.preventDefault from handleTouchEnd (#102)
* Remove e.preventDefault from handleTouchEnd As far as I'm aware, this isn't needed. Fixes #98. * Touch handled for mobile, Mobile view on examples * Remove static from touchHandled * Move inside lambda function * Expand setTimeout * Update ContextMenuTrigger.js * Set touchHandled = false * Remove trailing spaces
1 parent d6fd507 commit 646865d

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

examples/index.html

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
56
<title>React ContextMenu</title>
67
<link rel="stylesheet" href="https://unpkg.com/[email protected]/build/pure-min.css" integrity="sha384-UQiGfs9ICog+LwheBSRCt1o5cbyKIHbwjWscjemyBMT9YCUMZffs6UqUTd0hObXD" crossorigin="anonymous">
78
<link rel="stylesheet" href="./react-contextmenu.css">

src/ContextMenuTrigger.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default class ContextMenuTrigger extends Component {
2828
renderTag: 'div'
2929
};
3030

31+
touchHandled = false;
3132

3233
handleMouseDown = (event) => {
3334
if (this.props.holdToDisplay >= 0 && event.button === 0) {
@@ -47,18 +48,25 @@ export default class ContextMenuTrigger extends Component {
4748
}
4849

4950
handleTouchstart = (event) => {
51+
this.touchHandled = false;
52+
5053
if (this.props.holdToDisplay >= 0) {
5154
event.persist();
5255

5356
this.touchstartTimeoutId = setTimeout(
54-
() => this.handleContextClick(event),
57+
() => {
58+
this.handleContextClick(event);
59+
this.touchHandled = true;
60+
},
5561
this.props.holdToDisplay
5662
);
5763
}
5864
}
5965

6066
handleTouchEnd = (event) => {
61-
event.preventDefault();
67+
if (this.touchHandled) {
68+
event.preventDefault();
69+
}
6270
clearTimeout(this.touchstartTimeoutId);
6371
}
6472

0 commit comments

Comments
 (0)