我用document.createElement("button").onclick=show;这样可以调用,
document.createElement("button").onclick=show(id); 就不可以了
请问各位大侠,document.createElement("button")这样创建的button注册事件怎么才能够
传递参数 id 了
请各位大侠帮帮忙,满意一定散分
document.createElement("button").onclick=show(id); 就不可以了
请问各位大侠,document.createElement("button")这样创建的button注册事件怎么才能够
传递参数 id 了
请各位大侠帮帮忙,满意一定散分
2 function(){}是匿名函数, 相当于 fun = function(){}
onclick= fun ,相当于 onclick=function(){},
进一步 onclick=show 想过上等同于 onclick=function(){show()}
3 ()的优先级最高,()中的语句立即执行,(function(){})(), 相当于fun = function(){}; fun()
进一步,匿名函数如果有参数 (function(n){}), 调用的时候就是 (function(n){})(id)
相当于fun = function(n){}; fun(id), 这样就把id传进去了,并且是在定义函数的时候同时传入的。4 因为 1,所以在3中的匿名函数中返回 函数句柄 return function(){}
(function(n){return function(){}})(id)
其中再调用show的话 (function(n){return function(){show(n)}})(id) 这样show就得到id了
document.createElement("button").setAttribute('onclick',show('id'));
我这样也可以得到id
问题又来了,为什么页面一加载就调用show('id')方法了
当我单击button的时候却没反应呢