slider icon indicating copy to clipboard operation
slider copied to clipboard

[Bug] Missing `mousedown` event bubbling after v10 upgrade

Open SenseiMarv opened this issue 3 years ago • 1 comments

Current behaviour

Currently, when version 10.x of rc-slider is being used, the mousedown event when clicking the handles is not bubbling. This causes issues with other libraries, for example react-modal: react-modal uses the mousedown event to decide whether the user started a mouse action in the modal or outside, which should close the modal: https://github.com/reactjs/react-modal/blob/master/src/components/ModalPortal.js#L306-L310. Without the bubbling, dragging the handle outside the modal component of react-modal will always trigger the modal close since the mouseup and click events are still bubbling.

Expected behaviour

The mousedown event should bubble so other handlers can work as they used to in preceding versions. Otherwise, the mouseup and click events should also be intercepted for the sake of consistency - this would be a breaking change though.

Steps to reproduce

  1. Watch the mousedown, mouseup and click events. There are multiple ways to do this, for example the monitorEvents() function in the browser console.
  2. Click and let go of the handle of the rc-slider component with < v10 of rc-slider.
  3. Observe the reported events.
  4. Repeat steps 1 - 3 with >= v10 of rc-slider
  5. Compare the reported events and notice the missing mousedown event.

You can use this prepared CodeSandbox to reproduce the bug.

Reported events with < v10 of rc-slider: image

Reported events with >= v10 of rc-slider: image

Hints

This stopPropagation() call likely causes the missing mousedown event.

SenseiMarv avatar Sep 05 '22 10:09 SenseiMarv

This is a valid issue I am facing as well.

diregraph avatar Nov 21 '23 19:11 diregraph