javascript - 有没有办法仅使用 Javascript、HTML、CSS(无 Jquery)在内部资源管理器上执行 onChange()
问题描述
有没有办法仅使用 Javascript、HTML、CSS(无 Jquery)在内部资源管理器上执行 onChange()。我的代码在 onChange() 时将输入发送到我的函数。当我使用 chrome 时,它工作得很好。但我只是注意到 onChange() 不像在 chrome 上那样在 IE 上工作。有没有办法让它像在 chrome 上一样工作或者在我选择一个选项后我可以做些什么来调用该函数?如果不是,我必须更改我的脚本代码的所有 400 行:(
<label>Choose a browser from this list:
<input id = "input1" list="table1" name="myBrowser"
style="width: 500px;" onchange="castvote('input1','table1')" onclick="test('input1')"/>
</label>
<datalist id="table1">
<option value="Firefox">
<option value="more options">
解决方案
下面是一个非常简单的通过 vanilla js 添加监听器的例子。现在它已更新为查找诸如 castVote 之类的类,并在循环中将侦听器添加到每个元素
(function addCastVoteListeners() {
const els = Array.prototype.slice.call(document.querySelectorAll('.castVote'));
els.forEach(addCastVoteListener);
})();
function addCastVoteListener(el) {
el.addEventListener('change', castVote);
}
function castVote() {
console.log('cast vote');
}
<label>Choose a browser from this list:
<input id = "input1" list="table1" name="myBrowser" class="castVote"
style="width: 500px;"/>
</label>
<datalist id="table1">
<option value="Firefox">
<option value="more options">
</datalist>
推荐阅读
- javascript - Ajax 调用被多次触发 [React]
- vue.js - 当文本区域有值时,v-text-field 的值返回 null
- isabelle - 如何解决 Isabelle 终止 _dom 错误消息(避免两个参数最大值的递归定义)?
- ruby - Ruby 在 Module 中超过了多个类
- r - 在 R 中绘制具有不同数据范围的多个地图
- web - 我应该将图像放在 NetBeans Java Web 应用程序的什么位置?
- c# - 如何通过静态列表根据序列顺序读取目录
- python - 为什么我在尝试删除角色时收到 400 Bad Request?不和谐.py
- javascript - 如何显示公会 discord.js 的机器人计数器
- excel - Excel:如果大于下一行中的单元格,则突出显示单元格