Javascript 多个元素上的同时事件侦听器

Javascript 多个元素上的同时事件侦听器,javascript,html,Javascript,Html,我使用bootstrap构建了一个简单的输入组,并试图使“Run/Go”按钮在所有输入传入后才可单击: 输入一 输入二 选择。。。 一个 两个 三 跑 如上所示,“运行/运行”按钮在默认情况下处于禁用状态。我可以使用javascript来启用该按钮。如果只有一个输入,我将执行以下操作: window.onload=函数(){ 让runBtn=document.getElementById('btn-run'); 让inputOne=document.getElementById('input

我使用bootstrap构建了一个简单的输入组,并试图使“Run/Go”按钮在所有输入传入后才可单击:


输入一
输入二
选择。。。
一个
两个
三
跑
如上所示,“运行/运行”按钮在默认情况下处于禁用状态。我可以使用javascript来启用该按钮。如果只有一个输入,我将执行以下操作:

window.onload=函数(){
让runBtn=document.getElementById('btn-run');
让inputOne=document.getElementById('input-one');
inputOne.addEventListener('change',函数(事件){
让classes=runBtn.classList;
类。删除(“禁用”);
runBtn.className=类;
runBtn.addEventListener('click',函数(){
//跑东西
}
}
这非常有效-但是-如果我添加另一个输入并嵌套eventListeners,我必须定义一个不需要的执行顺序(最高->最嵌套)。因此,我想知道是否可以将eventListeners添加到多个元素?或者是否有更优雅的替代方案


我希望这是有意义的。谢谢您的建议。

您需要以基于事件和状态的方式来处理此问题,而不是以顺序的方式。应该从一开始就为运行按钮分配单击侦听器(您已经禁用了按钮)。接下来,每个输入元素的更改侦听器应该会导致验证函数运行,如果整个表单通过,则运行按钮将删除其
disabled
属性。这是有意义的。是否能够提供一个小示例,以便我知道从何处开始?给您:如果您将其添加到答案中,我可以接受它。谢谢我想这对
不起作用。这里没有