Javascript 如何在动态元素上添加onclick处理程序?
以下是我的JS代码的重要部分:Javascript 如何在动态元素上添加onclick处理程序?,javascript,event-handling,Javascript,Event Handling,以下是我的JS代码的重要部分: function createClose() { var cButton = document.createElement("img"); cButton.src = "close.gif"; cButton.style.cursor = "pointer"; cButton.onclick = closeWindow; document.getElementById("my_window").appendChild(cButton); }
function createClose() {
var cButton = document.createElement("img");
cButton.src = "close.gif";
cButton.style.cursor = "pointer";
cButton.onclick = closeWindow;
document.getElementById("my_window").appendChild(cButton);
}
function closeWindow() {
document.getElementById("my_window").style.display = "none";
}
创建并追加图像,但单击图像时不会调用onClick事件。我还尝试使用匿名函数,但也没有成功
不,我不打算使用jQuery(尽管我相信它更容易)
这个问题几乎是“”的重复
作为另一种方式,我看到了使用input.setAttribute('onclick','yourFunction();')代码>太多,但不能保证它工作
input.setAttribute('onclick','handleClick();');
这个问题几乎是“”的重复
作为另一种方式,我看到了使用input.setAttribute('onclick','yourFunction();')代码>太多,但不能保证它工作 第3-5行中的img
应该是cButton
?JQuery解决方案可以吗?第3-5行中的img
应该是cButton
?JQuery解决方案可以吗?我可以在将事件处理程序附加到文档之前添加它吗?正如我所说的,匿名函数在这种情况下不起作用。看看前面提到的和链接的问题,它们在附加它之前会这样做,就像你说的那样(:希望它能帮助setAttribute()路由对我有效,现在我只需要检查它的跨浏览器兼容性…试用后请告诉我,这样我就不必亲自测试跨浏览器的有效性了,谢谢。input
在第1行之后指的是什么?第2行和问题中的onclick赋值有什么区别?我可以添加事件处理程序b吗在我将其附加到文档之前?正如我所说,匿名函数在这种情况下不起作用。请看一下前面提到的和链接的问题,它们在附加它之前会这样做,就像您所说的(:Hope it helps the setAttribute()路线对我有效,现在我只需要检查它的跨浏览器兼容性…试用后请告诉我,这样我就不必亲自测试跨浏览器的有效性了,谢谢。input
在第1行之后指的是什么?第2行和问题中的onclick作业有什么区别?
input.setAttribute('onclick','handleClick();');