我收到了 JSON 的这一部分:
"out": {
"gen": [
{
"title": "Options",
"opt": [
{
"label": "Button1",
},
{
"label": "Button2",
},
并且,我尝试将每个 labale 值作为按钮,因为我需要将这些按钮的值发送到函数。 send()
函数:
var options = '';
var p;
for(let i=0;i<q.out.gen[0].opt.length;i++) {
var opt=options +=`<input id='element' type='button' value="${q.out.gen[0].opt[i].label}">`;
$(document).ready(function(){
$("#element").click(function(){
p = ($(this).attr("value"));
send(p);
});
});
}
var resp = rch(
`<b>${opt}<br>`,
);
代码放置了我需要的按钮,但在执行它时,只有第一个按钮的第一个标签起作用,并发送两次
"Button1" "Button1"
第二个按钮“Button2”不起作用。
我该如何解决这个问题?每个标签都是一个按钮,按下它时会发送每个按钮的值,即 “Button1”
和 “Button2”。
谢谢
最佳答案
您可以尝试将 id='element' 切换为 class='element' 吗?
如果使用事件委托(delegate)进行更改后仍然无法正常工作,也可能使用 $(document).on("click", ".element", function() {...}
进行修复..
关于javascript - For in Javascript 不适用于来自 JSON 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58941450/