Javascript 如何让onclick第三次做一些不同的事情?

Javascript 如何让onclick第三次做一些不同的事情?,javascript,button,onclick,Javascript,Button,Onclick,我搜索了stack overflow,所有这些都只解释了onclick第二次将如何做一些不同的事情——但我希望我的代码第三次也能做一些不同的事情。以下是当前javascript的一部分: function one() { var newButton1 = '<button id="btnTwo" onclick="two();stickAmount();" >Pick up stick</button>'; var newButton2 = '<button id=

我搜索了stack overflow,所有这些都只解释了onclick第二次将如何做一些不同的事情——但我希望我的代码第三次也能做一些不同的事情。以下是当前javascript的一部分:

function one()
{
var newButton1 = '<button id="btnTwo" onclick="two();stickAmount();" >Pick up stick</button>'; var newButton2 = '<button id="btnThree" onclick="three()">Leave it there</button>';
document.getElementById("a").innerHTML="You feel something on the ground, and you think it's a stick."+newButton1+newButton2;

var myButton = document.getElementById('btnOne');
myButton.onclick = four;
}
函数一()
{
var newButton1='拿起棍子';var newButton2='把它留在那里';
document.getElementById(“a”).innerHTML=“你感觉到地面上有东西,你认为它是一根棍子。”+newButton1+newButton2;
var myButton=document.getElementById('btnOne');
myButton.onclick=4;
}

我的猜测是,我应该做一些类似下面的var myButton代码的事情,但如果我尝试这样做,它只执行第三个操作,跳过第二个操作。

为什么不在函数中使用静态变量?

您可以在按钮上附加一个计数器:

html:


柜台不是我需要的-


事实证明,我一开始做的事情是正确的,但是myButton变量不应该在同一个函数中出现两次,我必须将myButton变量添加到函数4。

只需在某个地方存储一个计数器。单击时将其递增。根据计数器值,添加您想要的任何逻辑。哪个按钮接收3次单击?JavaScript中没有静态变量。我附加了指向替代方式的链接。。但同样的想法我理解你的观点,但我不会调用这些静态变量,因为它们只是对象的数据成员。是的,它们可以类似于其他语言中的静态变量。
<button id="btnOne" data-counter="0" onclick="one();" >Do It</button>
var myButton = document.getElementById('btnOne');

function one() {
    var counter=parseInt(myButton.getAttribute("data-counter"),10);
    counter++;
    myButton.setAttribute("data-counter",counter);
    // do something based on the value of counter
}