diff --git a/src/InputRange/InputRange.js b/src/InputRange/InputRange.js index 89b1a75..66d0bf6 100644 --- a/src/InputRange/InputRange.js +++ b/src/InputRange/InputRange.js @@ -422,6 +422,8 @@ export default class InputRange extends React.Component { return; } + event.preventDefault(); + const key = getKeyByPosition(this, position); this.updatePosition(key, position); diff --git a/test/InputRange.spec.js b/test/InputRange.spec.js index e4f0bc6..a22b0f5 100644 --- a/test/InputRange.spec.js +++ b/test/InputRange.spec.js @@ -357,9 +357,23 @@ describe('InputRange', () => { event = { clientX: 100, clientY: 200, + preventDefault: jasmine.createSpy('preventDefault'), }; }); + it('should call event.preventDefault if not disabled', () => { + inputRange.handleTrackMouseDown(event, track, position); + + expect(event.preventDefault).toHaveBeenCalledWith(); + }); + + it('should not call event.preventDefault if disabled', () => { + inputRange = renderComponent(); + inputRange.handleTrackMouseDown(event, track, position); + + expect(event.preventDefault).not.toHaveBeenCalledWith(); + }); + it('should not set a new position if disabled', () => { inputRange = renderComponent(); spyOn(inputRange, 'updatePosition');