0

我有一个创建几个按钮的函数。问题是 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);
    }
}
4

1 回答 1

1

正确的做法是调用 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

于 2013-08-29T11:24:36.077 回答