javascript - 输入元素范围类型不支持 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");
})
解决方案
虚惊。解决了。这与输入/范围元素无关。我有一个或多个事件处理程序附加到文档,这些事件处理程序正在消耗用于输入/范围元素的鼠标事件。
推荐阅读
- swift - 如何从文件夹文件中创建一个字符串数组
- c# - Controller 中 Create 方法的默认值
- azure - 未找到流量管理器后面的低优先级 Azure API 管理实例的 CNAME 记录
- php - 使用 PHPMailer 发送带有 php 变量的链接
- c# - Windows 服务无法使用 CurrentCulture 设置语言
- node.js - 为什么“$pull”不适用于 findbyidandupdate 请求?
- formal-languages - 如何在 CSPm(通信顺序过程)中声明具有相同名称但类型不同的数据构造函数
- database - 对列的逗号分隔值进行排序
- sql-server - SQL Server 2012 - 更新换代
- reactjs - Reactjs 中 CKEditor 5 中的“numberedList”功能不起作用