javascript - addEventListener 回调在 createElement 后不起作用(仅在 chrome 中)
问题描述
我需要纯 JavaScript,而不是 jQuery。
我创建了一个带有值和文本内容的元素“选项”,之后我将 addEventListener 设置为每个选项元素,这是由一个按钮生成的,但是回调不起作用并且不显示 innerHTML “它起作用了!” id 为“info”的 div 标签上也没有。
此行为仅在 Chrome 上发生,但在 Firefox 上运行良好。我认为是 DOM,但我对此一无所知。我测试了这个解决方案无济于事。
var n = 0;
function myFunction() {
n += 1;
var listElement = document.querySelector('#list');
var infoElement = document.querySelector('#info');
var optElement = document.createElement('option');
optElement.setAttribute('value', 'opción ' + n);
optElement.textContent = 'opción ' + n;
listElement.append(optElement);
optElement.addEventListener('click', function() {
infoElement.innerHTML = 'it works!';
});
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>Click the button to make a OPTION element.</p>
<select id="list"></select>
<button onclick="myFunction()">Try it</button>
<div id="info"></div>
</body>
</html>
解决方案
推荐阅读
- wordpress - 由于永久链接,Woocommerce 页面上出现 404 错误
- image-segmentation - 使用 ConvexHull 在 3D 图像中查找对象边界时出错
- java - 可以从多个模块访问包
- numpy - 在 python 3.7 中导入 gensim 时找不到 numpy 图像
- r - 在 data.table 中的函数内子集行
- wpf - Wpf 重用 DataTemplate
- spring - @CreatedDate/@LastModifiedDate 在合并实体时设置为 null
- python - 估计的倒排索引大小
- java - 如何使用 Apache POI 为相邻列设置单元格值?
- java - OWASP 依赖检查 Maven 与命令行的结果不同