gpt4 book ai didi

javascript - 单击返回按钮 ID - JavaScript

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:11 24 4
gpt4 key购买 nike

我正在制作一个程序,该程序应该在加载时制作一列按钮。之后,在点击时,它应该创建新的按钮列并显示被点击按钮的 ID。

当它应该创建新的按钮列时它工作正常,但它显示列中每个按钮的 id。它甚至会返回下一列的 ID。第一个按钮列的 ID 在加载时显示。

谁能帮我让它只显示被点击按钮的 ID。这是代码:

<html> <head>
<style>
.addItem {
width: 80px;
float: left;} </style>
<script>
var lev = 0; var levmax=5;var some;

function addBu(){
repeat();
};

function repeat(){
if(lev<levmax){
lev++;
var bo = document.getElementById("kod");
var di = document.createElement('DIV');
di.className="addItem";
for (var i=0; i<4; i++){
var bu= document.createElement('BUTTON');
var te = document.createTextNode('Text');
var te1 = document.createTextNode(lev.toString());
var br = document.createElement('BR');
bu.id=(lev*10+i).toString();
some=(lev*10+i).toString();
bu.addEventListener("click", repeat);
bu.addEventListener("click" , reply_clickk(some));
bu.appendChild(te);
bu.appendChild(te1);
di.appendChild(bu);
di.appendChild(br);
}
bo.insertBefore(di, bo.childNodes[0]);
}

function reply_clickk(clicked_id){
alert(clicked_id);
};

};
</script>
</head>
<body id="kod" onload="addBu()">
</body></html>

最佳答案

问题是您调用事件处理程序并将其返回值附加到单击事件而不是函数。

bu.addEventListener("click" , reply_clickk(some));  

你可能更想要这样的东西

bu.addEventListener("click" , function(e){reply_clickk(e.target.id)});

此外,您的some 变量是全局的;将其更改为 var some 以限定您的函数 repeat

var some=(lev*10+i).toString();  

参见 JSFiddle

关于javascript - 单击返回按钮 ID - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38613069/

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