From: XhmikosR Date: Tue, 9 Nov 2021 13:44:14 +0000 (+0200) Subject: Return early in more places X-Git-Tag: v5.2.0-beta1~307 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=558002f3dccb9fcb1ba408abfbe55d201af4e152;p=thirdparty%2Fbootstrap.git Return early in more places --- 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]) } }