javascript - Onclick不适用于动态呈现html
问题描述
我想创建一种方法来在 div 中呈现新按钮,然后在其上添加一些单击事件。这是我的代码:
let create = () => {
function abc() {
alert("abc")
}
let t = document.querySelectorAll(".here")[0];
t.innerHTML = "<button onclick='abc()'>click me 2</button>";
}
document.querySelector("#clickme").addEventListener("click", () => {
create()
})
<button id="clickme">
click me
</button>
<div class="here">
a
</div>
点击“点击我2”,为什么我abc()
的没有定义?
解决方案
点击“click me 2”,为什么我的 abc() 没有定义?
因为属性事件处理程序在全局范围内查找方法,而您的abc
方法不在全局范围内,所以它在create
推荐阅读
- java - 输入 1e49643 的 java.lang.NumberFormatException
- python - 由于 EnvironmentError 无法安装软件包:404 客户端错误
- node.js - AWS Lambda openssl x509 Node.js 12.x 错误
- cordova - 无法配置 ionic v1 现有项目
- python - 无法更新用户个人资料信息
- symfony - 使用 symfony messenger 将消息处理程序限制为多个总线
- google-chrome - 如何在 Google Chrome 中运行 Postman
- python - 如何在 Azure Cloud Shell 中安装 python 3.6
- angular - 下拉按钮无法在Angular中循环它
- angular - Tinymce 编辑器加载速度很慢