【问题标题】:how to call onclick function on dynamically created button in javascript如何在javascript中动态创建的按钮上调用onclick函数
【发布时间】:2013-09-16 06:30:01
【问题描述】:
var del = document.createElement('input');
del.type = 'button';
del.name = 'delll';
del.value = 'del';
del.onClick = 'alert("hi javascript")';
这里我动态创建了一个输入类型 BUTTON,现在我想在按钮单击事件上调用函数。我为此使用onClick(); 函数。在上面的代码中一切正常,但del.onclick 没有按我的意愿工作(用于为演示生成警报)
我没有在这个程序中使用任何 jquery 代码,所以请不要使用任何 jquery 代码。
【问题讨论】:
标签:
javascript
button
dynamically-generated
【解决方案1】:
将 onclick(全部小写)设置为匿名函数
del.onclick = function(){ alert('hi javascript');};
注意该函数不像其他属性那样用引号引起来
【解决方案2】:
del.onclick = function () {
alert("hi jaavscript");
};
在onClick 中使用小的"C" 并为其传递一个函数。
【解决方案3】:
这样试试
var del = document.createElement('input');
del.setAttribute('type', 'button');
del.setAttribute('name', 'delll');
del.setAttribute('value', 'del');
del.setAttribute('onClick', 'alert("hi jaavscript")');
【解决方案4】:
所以详细回答这个问题:
del.onclick = '' 不会在引号内“执行”某些内容。
如果要执行/调用函数,则需要将函数作为参数传递。
即
del.onclick = function() { alert('hi there!')}