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 に答える