使用javascript只创建一个按钮?
我有一个HTML按钮,当你点击它,调用一个函数。功能如下:使用javascript只创建一个按钮?,javascript,html,function,Javascript,Html,Function,我有一个HTML按钮,当你点击它,调用一个函数。功能如下: function newButton () { let btn = document.createElement("BUTTON"); btn.innerHTML = "Click me"; document.body.appendChild(btn); } 我需要它,这样HTML按钮只能调用此函数一次(这样它只创建一个按钮),否则,如果继续单击原始HTML按钮,它将继续创建更多新按钮 有
function newButton ()
{
let btn = document.createElement("BUTTON");
btn.innerHTML = "Click me";
document.body.appendChild(btn);
}
我需要它,这样HTML按钮只能调用此函数一次(这样它只创建一个按钮),否则,如果继续单击原始HTML按钮,它将继续创建更多新按钮
有什么想法吗?一种方法是跟踪变量中的状态。比如:
let created = false;
function newButton () {
if (!created) {
// your code
created = true;
}
}
当然,只需添加一个
if
语句和一个var(int,如果您想创建多个,布尔,如果只有一个),类似于:
var btnAmount = 1;
function newButton ()
{
if(btnAmount == 1) {
//do your thing and create the button
btnAmount--;
}
}
又快又脏,对您的具体场景不太了解:
function newButton ()
{
let btn = document.createElement("BUTTON");
btn.innerHTML = "Click me";
document.body.appendChild(btn);
newButton = () => {};
}
如果从事件处理程序调用此函数,则可以设置。这样做只会调用该方法一次,同时删除处理程序以进行后续调用
使用
addEventListener
,通过将once
选项设置为true
,您只能侦听一次事件。这将在调用newButton
后删除事件侦听器
const-button=document.getElementById('create-button');
函数newButton(){
设btn=document.createElement(“按钮”);
btn.innerHTML=“单击我”;
文件.正文.附件(btn);
}
addEventListener('click',newButton,{once:true})代码>
创建按钮,但只能创建一次。
您可以检查按钮是否存在,ID或类是否存在。如果它没有创建新的。在其他情况下-什么也不做。
函数新按钮()
{
设btn=document.createElement(“按钮”);
btn.innerHTML=“单击我”;
文件.正文.附件(btn);
btn.addEventListener('click',newButton,{once:true});
}
document.getElementById('rootButton')。addEventListener('click',newButton')代码>
记住,如果
statement@germanio真的!我就在那里发呆了,他没有进一步阐述你的情况,几乎不可能正确回答这个问题你好,詹姆斯,欢迎来到SO,我建议您阅读以下文章,了解如何创建一个最小的可复制示例,并为您的问题添加更多内容,以便社区拥有他们需要的工具来帮助您解决问题。。。和