diff options
author | Nolan Lawson <nolan@nolanlawson.com> | 2017-09-19 08:00:29 -0700 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-19 17:00:29 +0200 |
commit | e5c65b30670e7dee62fd6ecc816345c0de2672e6 (patch) | |
tree | 42f8d42ad9e4a83ef002d0ca0337355a7633cfd1 /app | |
parent | 7d16bb379d1463471faf264bb89e24d5b8a505ca (diff) |
Set touchstart listener to 'passive', remove 'once' (#5011)
Diffstat (limited to 'app')
-rw-r--r-- | app/javascript/mastodon/is_mobile.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/javascript/mastodon/is_mobile.js b/app/javascript/mastodon/is_mobile.js index e9903d59e..dbdb30081 100644 --- a/app/javascript/mastodon/is_mobile.js +++ b/app/javascript/mastodon/is_mobile.js @@ -1,3 +1,5 @@ +import detectPassiveEvents from 'detect-passive-events'; + const LAYOUT_BREAKPOINT = 1024; export function isMobile(width) { @@ -5,11 +7,16 @@ export function isMobile(width) { }; const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; + let userTouching = false; +let listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false; -window.addEventListener('touchstart', () => { +function touchListener() { userTouching = true; -}, { once: true }); + window.removeEventListener('touchstart', touchListener, listenerOptions); +} + +window.addEventListener('touchstart', touchListener, listenerOptions); export function isUserTouching() { return userTouching; |