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;
});
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы