web-dev-qa-db-ja.com

onclickでボタンを作成するJavaScript

Javascriptを使用して、ボタンに関連するdomオブジェクトをパラメーターとして受け取る、ヘッドで定義された関数を呼び出すonclickイベントを持つボタンを作成しようとしています。どうすればいいですか?

例:

<html>
<head> <script>function blah(obj){alert(obj.value)}</script></head>
<body>
<button onclick="blah(this.parentNode.value);"></button>
</body>
</html>

javascript:

var newButton = document.createElement("button");
???

最後に、新しいボタンを既存のものと同じにする必要があります。

14
WindowsMaker
function createButton(context, func) {
    var button = document.createElement("input");
    button.type = "button";
    button.value = "im a button";
    button.onclick = func;
    context.appendChild(button);
}

window.onload = function() {
    createButton(document.body, function() {
        highlight(this.parentNode.childNodes[1]);
        // Example of different context, copied function etc
        // createButton(this.parentNode, this.onclick);
    });
};

それはあなたが望むものですか?

34
AlanFoster