gpt4 book ai didi

javascript - 将 OnClick 属性添加到数组 javascript

转载 作者:行者123 更新时间:2023-12-03 11:28:50 25 4
gpt4 key购买 nike

我正在尝试将数组添加到我的简单 JavaScript 计算器的 onclick 按钮中。

我的第一次尝试是代码中的 process(text[i]); 但它根本不起作用。

因此,我将数组项转换为字符串并传递给 onclick 函数。然后它以一种奇怪的方式运行。

您能让我知道如何传递到正确的类型吗?

var text = ["+", "-", "*", "/", "SQRT", "POW", "RNDM", "MAX", "MIN"];

for (var i = 0; i < text.length; i++) {
var child = document.createElement('button');
child.innerText = text[i];
child.value = text[i];
var temp = text[i].toString(); //<-- convert to make sure it is string

child.onclick = function () {
process(temp); //<-- it doesn't work properly, and it won't accept "process(text[i])???".
}

label1.appendChild(child);
}

document.body.appendChild(label1);

最佳答案

我必须离开我的电脑,但下面几乎可以工作了。一旦进入正在设置的 onclick,ops 就未定义。不知道为什么。希望其他人可以以此为基础。

function process(operation) {
alert(operation);
}

var ops = ["+", "-", "*", "/", "SQRT", "POW", "RNDM", "MAX", "MIN"];

for (var i = 0; i < ops.length; i++) {
var child = document.createElement('button');
child.innerText = ops[i];
child.value = ops[i];

(child.onclick = function() {

process(ops[i]);
})(i)

// label1.appendChild(child);
document.body.appendChild(child);
}

// document.body.appendChild(label1);

关于javascript - 将 OnClick 属性添加到数组 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817713/

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