gpt4 book ai didi

javascript - 使用 addEventListener 加载 HTML 内容时出现问题

转载 作者:行者123 更新时间:2023-11-28 10:37:59 25 4
gpt4 key购买 nike

在下面的代码中,我希望每个按钮都提醒自己的 ID。问题是在所有其他按钮中只有第一个按钮的 id 会被提醒。

document.getElementById('button').addEventListener('click', function() {
addElement();
}, false);


function addElement() {

di3 = rngc(10, 100001);

document.getElementById('demo').insertAdjacentHTML('afterbegin', '<button id="' + di3 + '" type="button" >newb</button>');

document.getElementById(di3).addEventListener('click', function() {
al(di3);
}, false);
}

function al(x) {
console.log(x);
}




function rngc(A, B) {
var d = new Date(),
n = d.getMilliseconds();
return 'ig' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, A) + Math.floor(Math.random() * (B)) + n;
}
<button id="button" type="button">add</button>
<div id="demo"></div>

注释 1:我的实际代码将许多 html 元素加载为一个字符串。更新:我不想使用 onclick 属性; addEventListener 是我的目标。

最佳答案

您可以使用这个答案,它将解决您的问题

<script type="text/javascript">

document.getElementById('button').addEventListener('click', function() {
addElement();
}, false);


function addElement() {

di3 = rngc(10, 100001);

document.getElementById('demo').insertAdjacentHTML('afterbegin', '<button id="' + di3 + '" type="button" >newb</button>');
// console.log(document.getElementById(di3).getAttribute("id"));

document.getElementById(di3).addEventListener("click", function() { al(this.id) } , false);
}

function al(x) {

alert(x);
}




function rngc(A, B) {
var d = new Date(),
n = d.getMilliseconds();
return 'ig' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, A) + Math.floor(Math.random() * (B)) + n;
}
</script>

关于javascript - 使用 addEventListener 加载 HTML 内容时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57737250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com