为什么这不起作用的任何想法。
单击时是按钮工作一次 - 否按钮不起作用
function $(x) {
return document.getElementById(x);
}
var glob = 0;
function new_index() {
glob += 1;
return "d" + glob;
}
function play() {
say("Hello is JS Fun?");
response("No",
function() {
say("Oh dear")
});
response("Yes",
function() {
say("Great:");
});
}
function say(x) {
$("txt").innerHTML += x;
}
function response(Txt, Fun) {
var n = new_index();
var s = "<button id='" + n + "'>" + Txt + "</button>";
say(s);
var xx = $(n);
// xx.onclick=Fun;
xx.addEventListener("click", Fun);
}
play();
<div id="txt"></div>
最佳答案
这是因为每次设置innerHTML 时,它不会像您想象的那样添加,而是将innerHTML 设置为一个新值,然后删除带有旧事件监听器的旧元素。
关于javascript - 事件监听器不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39469863/