From b9106f058be68ebeb80592ca3ac9b52747408d01 Mon Sep 17 00:00:00 2001 From: Rick Curran Date: Thu, 27 Jan 2022 16:13:09 +0000 Subject: [PATCH] Fix for difference in behaviour between mouse and keyboard interactions on Sliders This fix is to resolve an issue that I encountered when using a currency-formatted value in the bound input on a slider (discussion post: https://github.com/foundation/foundation-sites/discussions/12372). When using mouse interaction the functionality worked correctly, but moving the same slider resulted in a `NaN` error in the bound input field. Looking at the code that deals with the movement of the slider handles, when the handles are moved it gets the value of the slider's position from a data-attribute on the slider aria-valuenow, but in the code that handles the keyboard arrow movement it was getting the value directly from the related bound input field instead. This change modifies the code so that it gets the value from the same data-attribute for keyboard interaction as well. --- js/foundation.slider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/foundation.slider.js b/js/foundation.slider.js index 6dc849a96c..8df9d5c634 100644 --- a/js/foundation.slider.js +++ b/js/foundation.slider.js @@ -521,7 +521,7 @@ class Slider extends Plugin { $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) { var _$handle = $(this), idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0, - oldValue = parseFloat(_this.inputs.eq(idx).val()), + oldValue = parseFloat($handle.attr('aria-valuenow')), newValue; // handle keyboard event with keyboard util