如何用JavaScript用onclick创建按钮

How to create a button with onclick with JavaScript?

本文关键字:创建 按钮 onclick 何用 JavaScript      更新时间:2023-09-26

我有一个函数可以创建几个按钮。问题是onclick属性不起作用。如何在JavaScript中使用此属性?

function querySuccess(tx, results) {
    var len = results.rows.length;
    for (var i=0; i<len; i++){
        var name = results.rows.item(i).name;
        var button = document.createElement("button");
        button.className = "buttons";
        button.value = name;
        button.onclick = function() {
            alert("assa");
        };
        var listIt = document.createElement("li");
        listIt.className = "item";
        listIt.appendChild(button);
        var favs = document.getElementById("favs");
        favs.appendChild(listIt);
    }
}

正确的方法是调用addEventListener(对于Mozilla/webkit浏览器)或attachEvent(IE浏览器)。

function createButton(){
    var btn = document.createElement('button');
    btn.innerHTML = 'Click Me';
    if(btn.addEventListener)
        btn.addEventListener('click',function(){
            alert('hello');
        });
    else
        btn.attachEvent('click',function(){ alert('hello'); });
    document.body.appendChild(btn);
}

请参阅http://jsfiddle.net/L2KD5/

编辑:检查以下链接以获取更通用的实现:https://gist.github.com/eduardocereto/955642