var index = 0;
var index = 0;
由defualt索引的值是0,现在我有两个按钮,当我点击按钮2或1时,索引的值应该增加。在单击第二个按钮应取的值一个开始......同样第三等等等等增加点击按钮
var index = 0;
var index = 0;
由defualt索引的值是0,现在我有两个按钮,当我点击按钮2或1时,索引的值应该增加。在单击第二个按钮应取的值一个开始......同样第三等等等等增加点击按钮
你会需要一个函数来做到这一点:
function incrementIndex() {
index += 1;
}
这里假定您的index
变量是全局变量。
接下来你需要做的是等待click
事件。有三种方法可以在JavaScript中做到这一点。
联JavaScript
<button onclick="incrementIndex()">Button 1</button>
<button onclick="incrementIndex()">Button 2</button>
这是希特勒是如何开发的网站。不要这样做。
事件处理程序
这就要求你要等到DOM加载,然后在“得到”你的两个按钮莫名其妙。如果你只有两个页面上的按钮,你可以做这样的事情(但只有当该脚本来后的HTML文档中):
var buttons = document.getElementsByTagName('button');
buttons[0].onclick = buttons[1].onclick = incrementIndex;
注意,在这个例子,有没有括号()
在incrementIndex
的末尾。
事件监听器
问题与事件处理程序是,你只能在一个时间一个附加功能。如果您要让其他JavaScript侦听按钮点击,则必须使用事件侦听器。
但事件监听器是一个主要的屁股疼痛,因为IE6-8做错了,(取决于项目),你可能不得不围绕它编码。在它的最简单的,这里是如何在大多数浏览器添加事件侦听器:
var addEvent = window.addEventListener ? function (elem, type, method) {
elem.addEventListener(type, method, false);
} : function (elem, type, method) {
elem.attachEvent('on' + type, method);
};
addEvent(buttons[0], 'click', incrementIndex);
addEvent(buttons[1], 'click', incrementIndex);
这仅仅是听的跨浏览器事件的表面。如果你想了解更多,QuirksMode has a good series of articles就可以了。
你的问题还不清楚,但我认为你在寻找这样的事情......
<script type="text/javascript">
index = 0;
increment = function(){ index++; }
</script>
<button name="button1" onclick="increment();">Button 1</button>
<button name="button2" onclick="increment();">Button 2</button>
<html>
<head>
<script type="text/javascript">
var index = 0;
</script>
</head>
<body>
<button id="button1" onclick="index=index + 1;">1</button>
<button id="button2" onclick="index=index + 1;">2</button>
</body>
</html>
<html>
<head>
<script type="text/javascript">
var index = 0;
</script>
</head>
<body>
In response to <a href="http://stackoverflow.com/questions/5736860/incrementing-the-count-on-click-of-button">theJava's question at StackOverflow</a>
<button onclick="index = index + 1;document.getElementById('tb').value = index;">Button1</button>
<button onclick="index = index + 1;document.getElementById('tb').value=index;">Button2</button>
<input type="text" id="tb"/>
</body>
</html>
演示:
正如@Brandon所说,这个问题并不十分清楚。就我所能理解的,你在问这样的事情。我对吗?它是硬编码的,但我想确定我理解你的问题。
<script type="text/javascript">
var index = 0;
function increment(var1)
{
index++;
if(var1 == 1)
{ document.getElementById('button1').value=index; }
else
{ document.getElementById('button2').value=index; }
}
</script>
<input type="button" id="button1" onclick="increment(1)" value="increment me!"/>
<input type="button" id="button2" onclick="increment(2)" value="increment me!"/>
问题是......? – 2011-04-20 21:32:33