如何将onclick事件添加到JavaScript中新添加的元素中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

我一直试图将onClick事件添加到我用JavaScript添加的新元素中。问题是当我检查document.body.innerHTML时,可以看到onclick=alert('blah')被添加到新元素中了,但是当我单击该元素时,我看不到警报框正在工作。事实上,任何与JavaScript相关的东西都不起作用。

以下是我的代码:

function add_img() { 
  var elemm = document.createElement('rvml:image'); 
  elemm.src = 'blah.png';
  elemm.className = 'rvml';
  elemm.onclick = "alert('blah')";
  document.body.appendChild(elemm);
  elemm.id = "gogo";
  elemm.style.position='absolute';
  elemm.style.width=55;
  elemm.style.height=55;
  elemm.style.top=200;
  elemm.style.left=300;
  elemm.style.rotation=200; 
}

下面是我如何调用这个函数:

<button onclick=add_img()>add image</button>

虽然图像在浏览器中完整显示,但是当我点击图片的时候,没有收到警告。该怎么解决这个问题呢?

提问于
用户回答回答于

.onclick应该设置为函数而不是字符串:

elemm.onclick = function() { alert('blah'); };
用户回答回答于

不能按字符串分配事件,而应该用以下代码:

elemm.onclick = function(){ alert('blah'); };

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动