我创建了一个动态创建按钮的javascript函数
function btn(d) {
var btn = document.createElement("BUTTON");
var t = document.createTextNode(d);
btn.appendChild(t);
btn.className = "myButton";
btn.onclick = alert('hello');
document.body.appendChild(btn);
}
调用此函数时,即使未单击按钮,也会弹出警报。单击按钮时我想要警报。可能是我错过了什么。请帮忙。感谢
答案 0 :(得分:2)
您正在调用警报功能而不指定功能
alert('hello'); // evals immediately.
btn.onclick = function () {
alert("Hello World"); // gives the button a click handler
// which can be called when clicked
};
答案 1 :(得分:1)
尝试使用jQuery,就像这样(根据问题上的jQuery标记):
function btn(d) {
var btn = $('<button/>').addClass('myButton').text(d).appendTo('body').click(function (e) {
alert('hello');
})
}
答案 2 :(得分:0)
onclick应如下所示:
btn.onclick = function(){alert('hi');};
答案 3 :(得分:0)
您正在为alert('hello');
分配onclick
的返回值,而期待一个函数。没有jQuery的正确方法是
if (btn.addEventListener)
btn.addEventListener ('click',function(){ alert('hello');}, false);
else if (btn.attachEvent)
btn.attachEvent ('onclick',function(){ alert('hello');});