jTavez
@jTavez

Почему preventDefault не работает для input range?

Нужно чтобы при достижении limit ползунок больше не двигался, и значение input:value не менялось. Не понимаю, почему preventDefault() не срабатывает. Если добавить return false то естественно блок #output перестает обновляться, но ползунок и value по-прежнему меняются.

Вот пен: https://codepen.io/anon/pen/bXweNG

<div class="wrapper">
  <input type="range" min="0" max="50" value="0" step="1" id="range">
  <div id="output"></div>
</div>


'use strict';
let range  = document.getElementById('range'),
    output = document.getElementById('output'),
    limit  = 10;

range.addEventListener('input', evt => {
  if(evt.target.value > limit){
    evt.preventDefault();
    return;
  }
  output.textContent = evt.target.value;
});
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
31 мая 2024, в 19:43
10000 руб./за проект
31 мая 2024, в 19:37
2500 руб./за проект
18 мая 2024, в 11:01
40000 руб./за проект