如何让onclick第三次做一些不同的事情
How to make onclick do something different the third time?
我搜索了堆栈溢出,所有这些都只解释了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;
}
我的猜测是,我应该做一些类似底部的varmyButton代码的操作,但如果我尝试这样做,它只会执行第三个操作,而跳过第二个操作。
为什么不在函数中使用静态变量?
您可以在按钮上附加一个计数器:
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
}
计数器不是我需要的-
事实证明,我一开始做的是正确的,但myButton变量不应该在同一个函数中出现两次,我必须将myButton变量添加到函数四中。
相关文章:
- Raphael悬停事件和调整大小框在第三次鼠标悬停后发生故障
- Javascript拉斐尔奇怪的闪烁发生在我鼠标悬停的第三次
- 如何让onclick第三次做一些不同的事情
- 在第三次onPageClick事件后,使用twbspagination插件和AJAX更新JS分页
- ajax表单在第二次提交时提交了两次,在第三次提交时又提交了三次,等等
- 三个不同的角色,三种不同的观点
- jquery removeClass 在第二次或第三次点击后没有拾取 CSS
- 使用不同的变量值多次执行外部javascript文件中的$(document).ready()中的代码
- document.getElementById();第三次不起作用
- 替换第三次出现字符后的所有内容(如果存在)
- 为什么不'第二次和第三次调用后,t ajax load()工作
- 第三次调用后,该函数工作完美[谷歌图表]
- Javascript查找第三次出现在字符串中的子字符串
- JS单元测试用不同的参数运行多次
- 第三次可能会很有魅力
- Html +js:第三次点击按钮,它将运行第三个功能
- Node js正在进行第二次或第三次调用
- 在Node Js中,使用不同的参数顺序多次运行一个函数
- 在ngTables中,第三次运行$scope.tableParams.reload()会导致TypeError:无法设置
- 在js中从末尾起第三次出现时拆分字符串