我第一次点击,什么都没有。第二次,第一个警报触发两次。第三次,第二个警报触发两次,第一个触发一次。第四次,它变得更加奇怪。我想我使用 toggle() 错误,但我不明白怎么做。代码是
<button onclick="$(this).toggle(function(){alert(1)}, function(){alert(2)})">Play</button>
小提琴:http: //jsfiddle.net/2uRKD/
谢谢!
我第一次点击,什么都没有。第二次,第一个警报触发两次。第三次,第二个警报触发两次,第一个触发一次。第四次,它变得更加奇怪。我想我使用 toggle() 错误,但我不明白怎么做。代码是
<button onclick="$(this).toggle(function(){alert(1)}, function(){alert(2)})">Play</button>
小提琴:http: //jsfiddle.net/2uRKD/
谢谢!
Toggle 是一个 jquery 事件,它在替代点击之间切换,您不需要点击事件来绑定切换。
$(function(){
$('button').toggle(
function() {
alert(1);
},
function() {
alert(2);
});
});
尝试这个:
html:
<button type="button">Play</button>
Javascript:
<script>
$(document).ready(function(){
$("button").toggle(function(){alert(1)}, function(){alert(2)})
});
</script>
我没有解释:)
您使用的方法的形式是切换事件。这实际上是绑定点击处理程序。因此,您所做的是每次单击时都将切换绑定到事件。我不想试图理解你在那里绑定的逻辑,我只想说这是错误的。:)
您想要做的是:
$('.ToggleButton').toggle(function(){alert(1)}, function(){alert(2)})
这应该放在您的 document.ready 或等效文件中。