From 558002f3dccb9fcb1ba408abfbe55d201af4e152 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 9 Nov 2021 15:44:14 +0200 Subject: [PATCH] Return early in more places --- js/src/carousel.js | 32 +++++++++++++++++--------------- js/src/dom/event-handler.js | 18 ++++++++++-------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/js/src/carousel.js b/js/src/carousel.js index fe3ccf94e8..5a0cbc208d 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -225,22 +225,24 @@ class Carousel extends BaseComponent { } const endCallBack = () => { - if (this._config.pause === 'hover') { - // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - - this.pause() - if (this.touchTimeout) { - clearTimeout(this.touchTimeout) - } - - this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval) + if (this._config.pause !== 'hover') { + return } + + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + + this.pause() + if (this.touchTimeout) { + clearTimeout(this.touchTimeout) + } + + this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval) } const swipeConfig = { diff --git a/js/src/dom/event-handler.js b/js/src/dom/event-handler.js index 7c54a97657..12b157467c 100644 --- a/js/src/dom/event-handler.js +++ b/js/src/dom/event-handler.js @@ -105,15 +105,17 @@ function bootstrapDelegationHandler(element, selector, fn) { for (let { target } = event; target && target !== this; target = target.parentNode) { for (const domElement of domElements) { - if (domElement === target) { - event.delegateTarget = target - - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn) - } - - return fn.apply(target, [event]) + if (domElement !== target) { + continue } + + event.delegateTarget = target + + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn) + } + + return fn.apply(target, [event]) } }