如何使onclick做第三次不同的事情?

时间:2013-12-01 23:10:57

标签: javascript button onclick

我搜索了堆栈溢出,所有这些只解释了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 myButton代码,但是如果我尝试它只做第三个动作并跳过第二个动作。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以将计数器附加到按钮上:

HTML:

<button id="btnOne" data-counter="0" onclick="one();" >Do It</button>

JavaScript的:

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
}

答案 2 :(得分:0)

计数器不是我需要的 -

原来我开始做正确的事情,但myButton变量不应该在同一个函数中出现两次,我不得不将myButton变量添加到函数四。