javascript - 在 JavaScript 中为新添加的元素添加 onclick 事件

标签 javascript events new-operator element add

我一直在尝试将 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'); };

相反。

关于javascript - 在 JavaScript 中为新添加的元素添加 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316207/

相关文章:

javascript - 嵌套两个 Javascript 事件

c++ - Qt:如何向操作系统/窗口系统发送事件?

C++删除c字符串数组/其他类型的数组

javascript - 扩展 Angular yeoman 生成器

javascript - 为什么 Mongodb 中的 ISO 日期显示提前一天?

c++ - WS_EX_LAYERED 窗口不接收鼠标事件

c++ - C++ 允许使用 "delete this"吗?

javascript - 在 VS 2017 中禁用一个项目的 ESLint/CSSLint/Javascript 验证/CSS 验证

javascript - 我对 XMLHTTPREQUEST() 感到困惑

eclipse - 如何在 Eclipse 中显示 SVG?