javascript - 如何将事件侦听器添加到动态元素
问题描述
如何为使用 innerHTML 创建的元素添加事件侦听器?在我的示例代码中,我想为 X 按钮添加事件监听器
<button class="btn btn-sm btn-success add-input-text">add</button>
<script>
var addInputText = document.querySelector('.add-input-text');
var userForm = document.querySelector('.user-form');
addInputText.addEventListener('click', function(){
userForm.innerHTML += `<button class="form-section-remove-
1">X</button>`;
});
</script>
解决方案
只需像往常一样添加一个事件侦听器。
<button class="btn btn-sm btn-success add-input-text">add</button>
<script>
var addInputText = document.querySelector('.add-input-text');
var userForm = document.querySelector('.user-form');
addInputText.addEventListener('click', function(){
userForm.innerHTML += `<button class="form-section-remove-
1">X</button>`;
document.querySelector(".form-section-remove-1").addEventListener(/*whatever you're doing*/)
});
</script>
推荐阅读
- angular - 除非单击,否则引导程序 4 选项卡未激活
- python - 将多个值绘制为范围 - matplotlib
- dart - 设置堆栈布局小部件的高度
- java - 如何从 HttpServeletRequest 对象中检索 @RequestBody 注释的参数值?
- node.js - 如何在使用 Node.js 进行异步调用后执行响应
- node.js - 错误:由于资源问题,在发送标头后无法设置标头。?
- c# - SignalR Hub 没有从客户端连接,甚至没有显示任何错误
- amazon-web-services - 如何使 AWS Lex 机器人在意图实现后提示跟进(使用 Lambda)?
- adobe - 自动热键脚本结合而不是替换鼠标滚轮原始功能
- camera - 如何使用 EmguCV c# 将 IP 摄像机快照保存在 Content 文件夹中