diff options
author | XhmikosR <xhmikosr@gmail.com> | 2021-11-09 16:44:14 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2022-01-29 14:25:30 +0300 |
commit | 558002f3dccb9fcb1ba408abfbe55d201af4e152 (patch) | |
tree | 4d42713ff925bfd5edd9132782f511821283eae3 /js | |
parent | 7d3bc44bb0257baff2728ed0ec97c81cb636bcf5 (diff) |
Return early in more places
Diffstat (limited to 'js')
-rw-r--r-- | js/src/carousel.js | 32 | ||||
-rw-r--r-- | js/src/dom/event-handler.js | 14 |
2 files changed, 25 insertions, 21 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 (domElement !== target) { + continue + } - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn) - } + event.delegateTarget = target - return fn.apply(target, [event]) + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn) } + + return fn.apply(target, [event]) } } |