如何为JavaScript动态创建的图片添加onclick事件?点击无响应求助
问题分析与解决
你的代码中newIMG.onclick = 'clickImage()';这一行是导致点击无响应的核心原因。onclick事件属性需要接收函数引用,而非字符串形式的函数调用语句。赋值字符串时,浏览器无法正确识别并绑定点击逻辑,因此点击图片不会触发任何操作。
修正后的代码
let b = document.body; let newIMG = document.createElement('img'); newIMG.src = 'img.jpg'; // 直接绑定函数引用,无需引号和括号 newIMG.onclick = clickImage; b.append(newIMG) function clickImage() { console.log("clicked") }
额外说明
- 若写
clickImage()(带括号),会立即执行函数而非绑定到点击事件;加引号包裹则属于过时的事件绑定写法,已不被推荐使用。 - 你也可以采用更现代的事件绑定方式
addEventListener,效果一致:newIMG.addEventListener('click', clickImage);
内容的提问来源于stack exchange,提问作者bipedro
相关产品推荐
相关产品推荐

