JavaScript для создания кнопки с помощью клика - PullRequest
14 голосов
/ 28 декабря 2011

Я пытаюсь использовать javascript для создания кнопки с событием onclick, вызывающим функцию, определенную в заголовке, которая принимает в качестве параметра объект dom относительно кнопки. как мне это сделать?

например:

<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");
???

В конце я хочу, чтобы новая кнопка была такой же, как существующая.

1 Ответ

34 голосов
/ 28 декабря 2011
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);
    });
};

Это то, что вы хотите?

...