【发布时间】:2019-09-23 19:33:53
【问题描述】:
我动态创建了一个带有EventListener 的复选框。不幸的是,如果我用innerHTML 更改复选框标签的文本,EventListener 不起作用:
let label = document.createElement('label'),
input = document.createElement('input');
input.setAttribute('type', 'checkbox');
input.addEventListener('change', () => alert('Change Detected'));
label.appendChild(input);
document.body.appendChild(label);
label.innerHTML += 'Select Me!';
我该如何规避这个问题?为什么它会存在?
这是一个没有 innerHTML 的工作 sn-p:
let label = document.createElement('label'),
input = document.createElement('input');
input.setAttribute('type', 'checkbox');
input.addEventListener('change', () => alert('Change Detected'));
label.appendChild(input);
document.body.appendChild(label);
【问题讨论】:
标签: javascript html addeventlistener innerhtml event-listener