输入事件监听器未为类触发
Input event listener not firing for classes
我有一个用于3个输入框的CSS类,称为.rgb
。在这个.rgb
类中有三个输入框,其ID分别为:#rgb
, #rgb2
和#rgb3
。
当三个输入框中的任何一个使用.addEventListener
输入文本时,我试图捕获,尽管当我按类名称选择元素时它不起作用。没有添加innerHTML
document.getElementsByClassName('rgb').addEventListener("input", function() {
// Stores the r, g, b values
var r = document.getElementById('rgb').value;
var g = document.getElementById('rgb2').value;
var b = document.getElementById('rgb3').value;
document.getElementById('rgb-output').innerHTML = 'RGB: rgb(' + r + ', ' + g + ', ' + b + ')';
document.getElementById('hex-output').innerHTML = 'HEX: ' + rgbToHEX(r, g, b).toUpperCase();
}, false);
我如何修改代码,使其监听.rgb
类下的所有三个输入框的输入?
getElementsByClassName
的结果是一个节点列表。不能将事件处理程序附加到节点列表。您必须进入节点列表并将处理程序附加到存储在该节点列表中的各个元素。
var theInputs = document.querySelectorAll('.rgb')
for(var i = 0; i < theInputs.length; ++i){
theInputs[i].addEventListener("input", calc);
}
function calc() {
// Stores the r, g, b values
var r = document.getElementById('rgb').value;
var g = document.getElementById('rgb2').value;
var b = document.getElementById('rgb3').value;
document.getElementById('rgb-output').innerHTML = 'RGB: rgb(' + r + ', ' + g + ', ' + b + ')';
document.getElementById('hex-output').innerHTML = 'HEX: ' + rgbToHEX(r, g, b).toUpperCase();
}
function rgbToHEX(){
return "it works!";
}
<input class="rgb" id="rgb">
<input class="rgb" id="rgb2">
<input class="rgb" id="rgb3">
<div id="rgb-output"></div>
<div id="hex-output"></div>
相关文章:
- 在下拉式javascript事件监听器中选择时触发事件
- 如何在音频元素上使用React媒体合成事件监听器
- Javascript事件监听器让我很困惑
- javascript的事件监听器将下拉列表转换为输入按钮
- 组合类和事件监听器:`this`关键字
- 将事件监听器添加到画布时出错
- 如何通过javascript触发事件监听器
- 通过事件监听器在circle的文本匹配id上修改circle元素
- 动态添加javascript事件监听器,做一些无法解释的事情
- 事件处理程序&事件监听器彼此独立
- 为什么我在谷歌闭包中编写的事件监听器不起作用
- 如何在JS中使用事件监听器
- 为什么jQuery选择事件监听器会多次触发
- 为什么不'我的手机上没有设备就绪的事件监听器
- 何时在 Cocos2d-js 3.2 中注销事件监听器和定时回调
- javaScript-我们如何将一个事件监听器设置为另一个事件监听器的从属
- 微信/微信JavaScript桥(WeixinJSBridge)使用微信JSBridgeReady事件监听器并函数作为参
- ExtJS拖拽事件监听器在Chrome和Firefox上的工作方式不同
- 在这段代码中,复制自雄辩javascript的ch15,keyup事件监听器做什么
- 向音频元素添加事件监听器;不起作用