gpt4 book ai didi

javascript - 函数创建带有传递参数的按钮 onclick 函数

转载 作者:行者123 更新时间:2023-11-30 12:30:32 30 4
gpt4 key购买 nike

有人能像我五岁那样解释一下为什么它在没有点击事件的情况下执行该功能吗?以及如何修复它。谢谢。

function test(){
alert("works");
}

function createButton(name,location,id,funX){
var button = document.createElement("input");
button.type = "submit";
button.name = name;
button.id = id;
button.onclick = funX;
var placeHolder = document.getElementById(location);
placeHolder.appendChild(button);
};



window.onload = function () {
createButton("Submit","content","submitEnd",test());
};

http://jsfiddle.net/mabui91/yLoty39s/

最佳答案

当你给一个函数加上括号时,你就调用了它。不是稍后,而是就在此时此地,您返回函数返回的内容。

javascript 中的函数默认返回 undefined,除非您显式返回其他内容。

你真正写的是

createButton("Submit", "content", "submitEnd", undefined);

最后的undefined是因为你调用了这个函数,所以和

var result = test(); // undefined

createButton("Submit", "content", "submitEnd", result);

解决方法是引用函数,而不是调用

createButton("Submit", "content", "submitEnd", test);

看,没有括号。

FIDDLE

关于javascript - 函数创建带有传递参数的按钮 onclick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858538/

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