javascript中动态创建button以后,加入onclick。为何网页加载时会自动运行这个onclick事件?
mycurrent_cell=document.createElement("td");myButton=document.createElement("button")...
mycurrent_cell = document.createElement("td");
myButton = document.createElement("button");
aText = document.createTextNode("置顶");
myButton.appendChild(aText);
myButton.onclick = Function("setTop('"+XMLArray+"','"+id+"');");//这里
mycurrent_cell.appendChild(myButton);
mycurrent_row.appendChild(mycurrent_cell);
如上,我使用Function可以不自动运行,但是好像Function无法传入数组对象,如果那句改成
myButton.onclick = setTop(XMLArray,id);
那么在网页加载的时候就会自动执行onclick事件,重开了浏览器还是一样。
求解惑。如何加入这个button的onclick事件,别自动运行,点击事件触发的。
我的HTML是在head里写的这些代码
然后在body上载入代码
<body onload="start()"> 展开
myButton = document.createElement("button");
aText = document.createTextNode("置顶");
myButton.appendChild(aText);
myButton.onclick = Function("setTop('"+XMLArray+"','"+id+"');");//这里
mycurrent_cell.appendChild(myButton);
mycurrent_row.appendChild(mycurrent_cell);
如上,我使用Function可以不自动运行,但是好像Function无法传入数组对象,如果那句改成
myButton.onclick = setTop(XMLArray,id);
那么在网页加载的时候就会自动执行onclick事件,重开了浏览器还是一样。
求解惑。如何加入这个button的onclick事件,别自动运行,点击事件触发的。
我的HTML是在head里写的这些代码
然后在body上载入代码
<body onload="start()"> 展开
3个回答
展开全部
myButton.onclick = setTop(XMLArray,id);
这里不对,动态按钮onclick是不能传参的吧?
应该用
myButton.onclick=function(){
setTop(XMLArray,id);
}
试一下吧
这里不对,动态按钮onclick是不能传参的吧?
应该用
myButton.onclick=function(){
setTop(XMLArray,id);
}
试一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
myButton.onclick = function(){setTop(XMLArray,id);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无语了 ,你是故意的吗?
onload就是浏览器载入触发事件啊,
不运行的话才出问题
建议你把 onload="start()" 去掉
然后在 button 控件中加入 onclick事件 来触发你写的function方法
onload就是浏览器载入触发事件啊,
不运行的话才出问题
建议你把 onload="start()" 去掉
然后在 button 控件中加入 onclick事件 来触发你写的function方法
更多追问追答
追问
我整个表格还有表格里的button都是js动态生成的。通过onload="start()",在start()这个函数里生成一个表格。如果去掉了,我如何调用这个js生成表格呢。
追答
哦 这样啊 ;明白你的意思了,
问一下你是不是直接把 你上面的方法写进start 里面了??
这样是不行的
你在.aspx中写下你的 onclick触发的 function 试试
好运
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询