如何使每个按钮只运行一次该功能? 如果“点击我”中的点击只能使用一次,而其他按钮则相同 为了不放太多代码,我举了一个例子......: http://jsbin.com/apexod/2/edit
<input type="button" value="click me" onclick="hello('Jhon')"><br>
<input type="button" value="click me1" onclick="hello('Gerard')"><br>
<input type="button" value="click me2" onclick="hello('Kaoru')">
<script>
function hello(id){
alert("hello "+id);
}
</script>
答案 0 :(得分:4)
解决方案是注册点击的按钮:
<script>
var done = {}
function hello(id){
if (done[id]) return;
done[id] = 1;
alert("hello "+id);
}
</script>
(另一种方法是使用像jQuery这样的实用程序库及其one函数,但这样做会有点过头了)
答案 1 :(得分:3)
您可以将按钮元素参考发送到该函数,并从按钮中删除该事件:
<input type="button" value="click me" onclick="hello(this,'Jhon')"><br>
<input type="button" value="click me1" onclick="hello(this,'Gerard')"><br>
<input type="button" value="click me2" onclick="hello(this,'Kaoru')">
<script>
function hello(el, id){
alert("hello " + id);
el.onclick = null;
}
</script>
答案 2 :(得分:1)
执行后,您可以使用空函数
覆盖该函数function hello(){
alert("hello " + id);
hello = function(){}
}