有没有办法在Internet explorer上只使用Javascript、HTML、CSS(无Jquery)执行onChange()操作

有没有办法在Internet explorer上只使用Javascript、HTML、CSS(无Jquery)执行onChange()操作,javascript,html,css,Javascript,Html,Css,是否有一种方法可以在Internet explorer上仅使用Javascript、HTML、CSS(无Jquery)执行onChange()。我的代码在onChange()时将输入发送到我的函数。当我使用chrome时,它工作得非常好。但我只是注意到onChange()在IE上不起作用,就像在chrome上一样。有没有一种方法可以让它像在chrome上一样工作,或者在我选择一个选项后,我可以做些什么来调用这个函数?如果没有,我必须更改脚本代码的所有400行:( 从此列表中选择浏览器: 下面是一

是否有一种方法可以在Internet explorer上仅使用Javascript、HTML、CSS(无Jquery)执行onChange()。我的代码在onChange()时将输入发送到我的函数。当我使用chrome时,它工作得非常好。但我只是注意到onChange()在IE上不起作用,就像在chrome上一样。有没有一种方法可以让它像在chrome上一样工作,或者在我选择一个选项后,我可以做些什么来调用这个函数?如果没有,我必须更改脚本代码的所有400行:(

从此列表中选择浏览器:

下面是一个通过vanilla js添加侦听器的非常简单的示例。 现在,它已经更新为查找一个类,如castVote,并在循环中将侦听器添加到每个元素中

(函数addCastVotelListeners(){
const els=Array.prototype.slice.call(document.queryselectoral('.castVote');
els.forEach(addCastVoteListener);
})();
函数addCastVoteListener(el){
el.addEventListener(“变更”,表决权);
}
函数castVote(){
console.log(“投票表决”);
}
从此列表中选择浏览器:

为什么不使用js将事件监听器添加到元素中。这样,您将在所有浏览器中获得一致的行为。我只想在用户选择下拉菜单上的选项时调用我的函数。是否有其他方法可以这样做?如果有,您能告诉我为什么我仍然非常新鲜请参阅下面我的答案以获得一个非常简单的示例谢谢,但有吗有一种方法可以做到这一点,它不需要像这个文档那样硬编码。getElementById(INSERTVariable)。addEventListener('change',castvote);原因是我有大约30个不同的输入被通过。我不想让30行说document.getElementById('inputNum')。addEventListener('click',test);@random更新后的答案应该能满足您的愿望。很抱歉一直打扰您最后一个问题。我如何从中获取输入id。以及如何找到输入的值。因此,在本例中,输入id为“input1”假设我选择了firefox选项,那么输入是firefox@randomvincent如果你想深入研究vanilla js,是时候尝试搜索一些非常基本的问题了。下面是如何找到一个看起来不相关的元素id。这段代码非常基本,应该是不可知的。控制台中的前后缓存比这是一个警告,而不是由此产生的任何东西。
<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">