我正在尝试使用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");
???
最后我希望新按钮与现有按钮相同。
答案 0 :(得分:33)
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);
});
};
这就是你想要的吗?
答案 1 :(得分:0)
您还可以使用内置的setAttrbute javascript函数。
var newButton = document.createElement("button")
newButton.setAttribute("onclick", "blah(this.parentNode.value)")
希望这会有所帮助