Ползунок диапазона ввода застрял в Firefox - PullRequest
0 голосов
/ 19 февраля 2019

Когда я перемещаю ползунок диапазона в Firefox, большой палец возвращается в исходное положение и вызывает событие oninput для всего, к чему он подключен.Этот отскок происходит либо сразу, либо в следующий раз, когда я наведу указатель мыши на элемент.Все остальные протестированные мной браузеры ведут себя как положено.Вкладка и использование клавиш со стрелками для перемещения большого пальца работает как обычно.

Я определил, что это, скорее всего, проблема, связанная с JavaScript, так как проблема исчезнет, ​​если я полностью удалю JavaScript или закомментируюФункция инициализации onload.

В настоящее время я пытаюсь разобрать код, чтобы найти виновного, но на данный момент я не знаю, какой именно фрагмент кода виноват.Мы будем благодарны за любые идеи.

Обновление: мне удалось свести проблему до 10 строк кода и я настроил скрипту: https://jsfiddle.net/nd1fw87z/2/

или как показано ниже:

const mouseDeactivate = (event) => {
    event.preventDefault();
};

const init = () => {
    window.onmouseup = mouseDeactivate.bind(window.Event);
};

window.onload = init();

Используется вместе со следующим в теле документа:

<input type="range" min="0" max="11">

Возможно, проблема связана с предотвращением поведения по умолчанию для события mouseup.Есть ли способ предотвратить поведение по умолчанию, не ломая слайдер в Firefox?Это ошибка, о которой я должен сообщить, или просто неприятный побочный эффект от того, как Firefox обрабатывает события?

...