函数创建按钮,带有传递参数的 onclick 函数
function create button with a passing argument onclick function
有人可以像我五岁一样解释我为什么在没有单击事件的情况下执行函数。以及如何解决它。谢谢。
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);
看,没有括号。
小提琴
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数