addEventListener 没有在 Javascript 中触发我的函数

Posted

技术标签:

【中文标题】addEventListener 没有在 Javascript 中触发我的函数【英文标题】:addEventListener is not triggering my function in Javascript 【发布时间】:2019-02-27 19:24:10 【问题描述】:

我正在使用在线网站配色方案工具,它必须根据我们选择的颜色显示结果,但该功能不是由addEventListener("input", fuction_name); 触发的。

我曾多次处理这类事情,但我无法确定在这种情况下的错误。代码如下:

var hedbg = document.getElementById("headbg");
var htex = document.getElementById("headtext");
var head = document.getElementsByClassName("ehead")[0];

var conbg = document.getElementById("contbg");
var ctex = document.getElementById("conttext");
var cont = document.getElementsByClassName("econtent")[0];

function trailWeb() 
    console.log(hedbg.value);
    head.style.background = hedbg.value;
    head.style.color = htex.value;
    console.log(hedbg.value);
    cont.style.background = conbg.value;
    cont.style.color = ctex.value;


hedbg.addEventListener("input",trailWeb);

【问题讨论】:

#headbg是什么元素? 控制台有错误吗? 【参考方案1】:

<input><select><textarea> 元素的值发生更改时,DOM input 事件会同步触发。如果您使用带有type=checkboxtype=radio 的输入元素,则输入事件应该在用户切换控件时触发,但从历史上看,情况并非如此。尝试为这些类型的元素附加change 事件。

【讨论】:

以上是关于addEventListener 没有在 Javascript 中触发我的函数的主要内容,如果未能解决你的问题,请参考以下文章

当一个人在没有目标元素的情况下调用 addEventListener 时,它默认为哪个元素?

Java Script 之 addEventListener

window.addeventlistener'scroll'为啥没有效果

Object #<Controller> 没有方法 addEventListener

removeEventListener 和 addEventListener 的“没有重载匹配此调用”

Uncaught TypeError:无法读取null的属性'addEventListener'(querySelector)