From 6ae5fb12e6c996a6526250e8cb703b007e4213fc Mon Sep 17 00:00:00 2001 From: "Patrick H. Lauke" Date: Mon, 17 Apr 2017 13:26:46 +0100 Subject: Fix carousel "hover" behavior on touch-enabled devices * Add carousel mouse listeners even if touch events enabled - touch events are enabled not just on "mobile", just also on touch-enabled desktop/laptop devices; additionally, it's possible to pair a mouse with traditionally touch-only devices (e.g. Android phones/tablets); currently, in these situations the carousel WON'T pause even when using a mouse * Restart cycle after touchend as `mouseenter` is fired as part of the touch compatibility events, the previous change results in carousels which cycle until the user tapped/interacted with them. after that they stop cycling (as `mouseleave` is not sent to the carousel after user scrolled/tapped away). this fix resets the cycling after `touchend` - essentially returning to the previous behavior, where on touch the carousel essentially never pauses, but now with the previous fix it at least pauses correctly for mouse users on touch-enabled devices. includes documentation for this new behavior. --- js/tests/unit/carousel.js | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'js/tests') diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js index 00b438bb2..894f78ab5 100644 --- a/js/tests/unit/carousel.js +++ b/js/tests/unit/carousel.js @@ -654,29 +654,6 @@ $(function () { assert.strictEqual($template.find('.carousel-item')[0], $template.find('.active')[0], 'first item still active after left arrow press in