[英]Unable to attach click event to a dynamically created button
我創建了一個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);
}
調用此函數時,即使未單擊按鈕,也會彈出警報。 單擊按鈕時我想要警報。 可能是我缺少了一些東西。 請幫忙。 謝謝
您正在調用警報功能而不分配功能
alert('hello'); // evals immediately.
btn.onclick = function () {
alert("Hello World"); // gives the button a click handler
// which can be called when clicked
};
嘗試使用jQuery,就像這樣(根據問題上的jQuery標簽):
function btn(d) {
var btn = $('<button/>').addClass('myButton').text(d).appendTo('body').click(function (e) {
alert('hello');
})
}
onclick應該看起來像:
btn.onclick = function(){alert('hi');};
您正在分配alert('hello');
的返回值alert('hello');
到onclick
,而它需要一個功能。 沒有jQuery的正確方法是
if (btn.addEventListener)
btn.addEventListener ('click',function(){ alert('hello');}, false);
else if (btn.attachEvent)
btn.attachEvent ('onclick',function(){ alert('hello');});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.