gpt4 book ai didi

javascript - 从 onclick 调用函数,为什么我的参数评估为 true?

转载 作者:行者123 更新时间:2023-11-28 06:14:40 25 4
gpt4 key购买 nike

我正在尝试更改“文本框”以根据选择的单选按钮以不同的方式显示。这个框只是一个 ID 为“output”的 div 部分。当我运行以下 JavaScript 时,我的参数似乎被忽略,并且无论我按哪个按钮,都会插入“hi”。这是 Javascript 相等运算符的问题,还是我完成函数调用的方式的问题?

window.onload = function() {
document.getElementById("medium").onclick = size(1);
document.getElementById("big").onclick = size(2);
document.getElementById("bigger").onclick = size(3);
};

function size(param) {
if (param === 3) {
document.getElementById("output").innerHTML = "hi";
}
}

最佳答案

这一行:

document.getElementById("medium").onclick = size(1);

将 onclick 属性设置为尺寸函数的结果。不指向函数指针。

所以这相当于:

var x = size(1);
//x is null
document.getElementById("medium").onclick = x;

将您的函数包装在另一个函数中,以便将 onclick 设置为函数指针而不是结果,即:

document.getElementById("medium").onclick = function() {size(1);};

关于javascript - 从 onclick 调用函数,为什么我的参数评估为 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36081753/

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