获取动态生成的DOM元素的onclick方法
Getting the onclick method of a dynamically generated DOM element
我正在使用onclick方法动态添加图像到我的页面,如下所示:
var image = document.createElement("img");
image.src = "image.png";
image.onclick = function(){
doSomething();
}
parent.appendChild(image);
这一切都很好。然而,我想要保存(通过PHP脚本)生成的HTML, 与onclick方法。我试过使用parent。innerHTML,但同时返回图像的onclick不存在。
我:
...<img src="image.png" />...
当我想要的东西是:
...<img src="image.png" onclick="doSomething()" />...
有人能告诉我如何实现这个吗?谢谢。
这是不可能的。活函数实例不能与它的所有作用域环境和其他内部或公共属性进行序列化。你只能得到它的代码,比如
image.setAttribute(
"onclick",
image.onclick.toString().replace(/^function's*([^)]*)'s*'{?|'}$|'n/g, "")
);
return image.outerHTML;
如果您在<script>
标记或外部文件中的元素属性之外编写脚本,它将永远不会在HTML中复制。据我所知,你要找的东西是不可能的。
如果你把onclick函数直接写进HTML中,然后把它提取出来,那就可以了
相关文章:
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何通过它瞄准javascript元素's的onclick属性
- 将多个元素绑定到同一onclick
- 如何在动态创建元素的内联onclick事件中传递对象
- Onclick函数更改为所有更改元素的相同函数
- 为onClick-hander插入临时DOM元素
- 元素onClick无法使用ngClick
- 将列表元素 onclick 事件绑定到单选输入
- 滚动到一个元素 onClick JavaScript
- 创建 D3.js 元素 OnClick 事件的放大副本
- 单击span时获取附近的输入元素(onclick事件)
- 使用纯javascript获取li元素onclick,而不对每个元素应用onclick
- 需要通过元素onclick函数停止执行Javascript onclick函数
- 我怎么得到元素.onclick在Firefox中工作
- JavaScript服务器元素onclick事件
- 从JavaScript字符串中设置元素onclick
- Javascript的元素.onclick = functionName(作为字符串)
- 显示HTML元素onclick事件
- 选项元素onclick事件修复chrome
- 如何在不触发父元素onclick的情况下触发元素的onclick