From 3e23746dedc5844beb4bf101cc582a6862a9506a Mon Sep 17 00:00:00 2001 From: Dan Popescu Date: Sat, 21 Oct 2023 10:35:19 +0300 Subject: [PATCH] fix(QScrollArea): backport from Qv2 - mouse events on content trigger on first tap in iOS #16210 --- ui/src/components/scroll-area/QScrollArea.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ui/src/components/scroll-area/QScrollArea.js b/ui/src/components/scroll-area/QScrollArea.js index 580691160d87..dd22ac64a069 100644 --- a/ui/src/components/scroll-area/QScrollArea.js +++ b/ui/src/components/scroll-area/QScrollArea.js @@ -464,10 +464,23 @@ export default Vue.extend({ }, __mouseEnter () { - this.hover = true + if (this.mouseEventTimer !== void 0) { + clearTimeout(this.mouseEventTimer) + } + + // setTimeout needed for iOS; see ticket #16210 + this.mouseEventTimer = setTimeout(() => { + this.mouseEventTimer = void 0 + this.hover = true + }, this.$q.platform.is.ios === true ? 50 : 0) }, __mouseLeave () { + if (this.mouseEventTimer !== void 0) { + clearTimeout(this.mouseEventTimer) + this.mouseEventTimer = void 0 + } + this.hover = false } },