#javascript #ion-range-slider
#javascript #ion-range-slider
Вопрос:
В плагине Ion.RagerSlider панель интервалов является интерактивной. Это проблема на мобильных устройствах, когда пользователь случайно нажимает на элемент при попытке прокрутки.
Как я могу отключить событие щелчка на панели интервалов?
Я не смог найти решение в официальной документации.
Комментарии:
1. Помогает ли это? : ionden.com/a/plugins/ion.rangeSlider/api.html#a_interval
2. @Towkir К сожалению, нет. Ни один из этих методов не отключает щелчок по интервалу.
3. можете ли вы добавить фрагмент, который показывает проблему, и немного уточнить свой вопрос, пожалуйста?
Ответ №1:
У меня это работает отлично. Просто добавьте в css:
ion-range {
pointer-events: none;
}
ion-range::part(knob) {
pointer-events: auto;
}
Кажется, работает в большинстве браузеров. Посмотрите здесь:https://caniuse.com/pointer-events
Ответ №2:
Я сталкиваюсь с той же проблемой, когда при нажатии за пределы выбранного диапазона на панели весь диапазон перемещается в местоположение касания. В зависимости от расположения и размера панели на экране довольно легко непреднамеренно сделать это и потерять значения ползунка.
Хотя он официально не поддерживается версией 2.3.1, я обнаружил, что удаление привязки событий touchstart и mousedown к строке диапазона сделало свое дело. https://github.com/IonDen/ion.rangeSlider/blob/2.3.1/js/ion.rangeSlider.js#L686#L687
Более общим подходом может быть создание нового параметра конфигурации с именем что-то вроде disable_line_touch со значением по умолчанию false и пропускать вышеуказанную привязку только в том случае, если для его значения установлено значение true .