首页 > 解决方案 > 输入元素范围类型不支持 FireFox 或 Safari 中的更改事件。解决方法是什么

问题描述

我的数据即应用程序中有一个滑块元素,我想通过滑块拖动完成来触发一个事件。此解决方案使用该change事件并在 Chrome 中正常工作。

this.slider.addEventListener('change', e => {
    // do something when slider changes
})

但是,FireFox 和 Safari 仅支持input事件,因此上述方法不起作用。change在 FireFox 和 Safari 中模拟事件的最佳解决方法是什么。

这是所有相关的JS代码

const slider = document.createElement('input')
slider.type = 'range'

slider.min = 10
slider.max = 20

document.body.appendChild(slider)

slider.addEventListener('change', e => {
  // do something when slider changes
  console.log("change");
})

标签: javascripthtml

解决方案


虚惊。解决了。这与输入/范围元素无关。我有一个或多个事件处理程序附加到文档,这些事件处理程序正在消耗用于输入/范围元素的鼠标事件。


推荐阅读