单击后创建具有功能的按钮
Create Button with Function after clicking
我有一些功能...
function myFunction()
{
var btn = "<input type='button' onclick='sf();'>";
var t = document.createTextNode("FINISH GAME");
btn.appendChild(t);
document.body.appendChild(btn);
};
function sf(){window.alert("You finished the game!")};
..还有一个激活第一个功能的按钮。
<button onclick="myFunction()">Click Me!</button>
因此,当我单击 "Click Me" 按钮时,应该会创建另一个按钮,其文本为 "FINISH GAME"。单击第二个按钮时,应提醒文本 "You finished the game!"。
但是点击第一个按钮,没有任何反应。编码错误在哪里?我在哪里忘了逗号? ;)
这是因为你的变量 btn
不是 DOM 元素而是字符串。您可以创建输入元素并设置其所有属性,如下所示:
function myFunction() {
var btn = document.createElement('input');
btn.setAttribute('type', 'button'); // input element of type button
btn.setAttribute('value', 'FINISH GAME');
btn.onclick = sf;
document.body.appendChild(btn);
};
或:
function myFunction() {
var btn = document.createElement('button'); // button element
var t = document.createTextNode("FINISH GAME");
btn.appendChild(t);
btn.onclick = sf;
document.body.appendChild(btn);
};
您正在以错误的方式创建输入元素。
function myFunction()
{
var btn = document.createElement('input');
btn.setAttribute('type' , 'button');
btn.setAttribute('value', 'FINISH GAME');
document.body.appendChild(btn);
btn.addEventListener('click','sf',false);
};
function sf(){window.alert("You finished the game!")};
我有一些功能...
function myFunction()
{
var btn = "<input type='button' onclick='sf();'>";
var t = document.createTextNode("FINISH GAME");
btn.appendChild(t);
document.body.appendChild(btn);
};
function sf(){window.alert("You finished the game!")};
..还有一个激活第一个功能的按钮。
<button onclick="myFunction()">Click Me!</button>
因此,当我单击 "Click Me" 按钮时,应该会创建另一个按钮,其文本为 "FINISH GAME"。单击第二个按钮时,应提醒文本 "You finished the game!"。 但是点击第一个按钮,没有任何反应。编码错误在哪里?我在哪里忘了逗号? ;)
这是因为你的变量 btn
不是 DOM 元素而是字符串。您可以创建输入元素并设置其所有属性,如下所示:
function myFunction() {
var btn = document.createElement('input');
btn.setAttribute('type', 'button'); // input element of type button
btn.setAttribute('value', 'FINISH GAME');
btn.onclick = sf;
document.body.appendChild(btn);
};
或:
function myFunction() {
var btn = document.createElement('button'); // button element
var t = document.createTextNode("FINISH GAME");
btn.appendChild(t);
btn.onclick = sf;
document.body.appendChild(btn);
};
您正在以错误的方式创建输入元素。
function myFunction()
{
var btn = document.createElement('input');
btn.setAttribute('type' , 'button');
btn.setAttribute('value', 'FINISH GAME');
document.body.appendChild(btn);
btn.addEventListener('click','sf',false);
};
function sf(){window.alert("You finished the game!")};