输入范围滑块的Javascript代码无法在Internet Explorer 11中使用

问题描述 投票:0回答:1

这是我的HTML代码

<input type="range" name="que1" min="0" max="100" value="0" class="slider" id="myRange">

它的javascript代码是

var slider = document.getElementById('myRange')

function onChange(event) {
  var x = event.target.value

  if (x == 0) {
    slider.className = ''
  } else if (x > 30 && x < 60) {
    slider.className = 'MyClass-1'
  } else if (x == 100) {
    slider.className = 'MyClass-2'
  }
}

slider.addEventListener('input', onChange)

当我拖动滑块时,值会发生变化,但是类没有根据值添加,它在chrome中完美运行但在Internet Explorer 11中没有。

任何解决方案都可以在ie11中实现

javascript html5 input internet-explorer-11 rangeslider
1个回答
3
投票

根据caniuse(参见“已知问题”),IE10和IE11在鼠标动作上发射change,而不是input。所以你需要处理change以及input

slider.addEventListener('input', onChange)
slider.addEventListener('change', onChange) // For IE11
© www.soinside.com 2019 - 2024. All rights reserved.