javascript创建带有onclick的按钮
我正试图使用javascript创建一个按钮,该按钮具有一个onclick事件,该事件调用头部中定义的函数,该函数接受一个相对于按钮的dom对象作为参数。我该怎么做 例: 最后,我希望新按钮与现有按钮相同javascript创建带有onclick的按钮,javascript,dom,createelement,Javascript,Dom,Createelement,我正试图使用javascript创建一个按钮,该按钮具有一个onclick事件,该事件调用头部中定义的函数,该函数接受一个相对于按钮的dom对象作为参数。我该怎么做 例: 最后,我希望新按钮与现有按钮相同 function createButton(context, func) { var button = document.createElement("input"); button.type = "button"; button.value = "im a butto
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);
});
};
这就是您想要的吗?您还可以使用内置的setAttrbute javascript函数
var newButton=document.createElement(“按钮”)
newButton.setAttribute(“onclick”,“blah(this.parentNode.value)”)
您能解释一下为什么要这样做吗,也许有一个更好的解决方案可以解决您正在做的事情……它有点(不必要)复杂,但我会试试。因此,原始按钮将创建一堆内容并删除自身。在创建的内容中有另一个按钮,它将重新创建原始按钮,该按钮可以创建另一组内容,因此我不认为它解决了DOM问题,因为传入的参数与按钮有关:(@zaftcoAgeiha我不知道这是什么意思。请你解释一下你想要什么。编辑::再次检查帖子。好的,我需要能够动态创建此突出显示并使其可点击。我得到错误“Uncaught TypeError:无法读取undefined的属性“1”。我认为问题在于javascript认为“this”指的是js对象,而不是HTMLDOMobj@zaftcoAgeiha这可能是因为我输入了“childNotes”而不是“childNodes”…代码正常工作。
var newButton = document.createElement("button");
???
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);
});
};