diff --git a/src/components/range/range.ts b/src/components/range/range.ts index 3a9cd5b68f..bc8ad963bd 100644 --- a/src/components/range/range.ts +++ b/src/components/range/range.ts @@ -302,11 +302,20 @@ export class Range extends Ion implements AfterViewInit, ControlValueAccessor, O return null; } + /** + * @output {Range} Emitted when the range selector drag starts. + */ + @Output() ionFocus: EventEmitter = new EventEmitter(); + /** * @output {Range} Emitted when the range value changes. */ @Output() ionChange: EventEmitter = new EventEmitter(); + /** + * @output {Range} Emitted when the range selector drag ends. + */ + @Output() ionBlur: EventEmitter = new EventEmitter(); constructor( private _form: Form, @@ -356,6 +365,9 @@ export class Range extends Ion implements AfterViewInit, ControlValueAccessor, O return false; } + // trigger ionFocus event + this.ionFocus.emit(this); + // prevent default so scrolling does not happen ev.preventDefault(); ev.stopPropagation(); @@ -411,6 +423,9 @@ export class Range extends Ion implements AfterViewInit, ControlValueAccessor, O // trigger a haptic end this._haptic.gestureSelectionEnd(); + + // trigger ionBlur event + this.ionBlur.emit(this); } }