commit: e5c65b30670e7dee62fd6ecc816345c0de2672e6
parent: 7d16bb379d1463471faf264bb89e24d5b8a505ca
Author: Nolan Lawson <nolan@nolanlawson.com>
Date: Tue, 19 Sep 2017 08:00:29 -0700
Set touchstart listener to 'passive', remove 'once' (#5011)
Diffstat:
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git 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;