1

我第一次点击,什么都没有。第二次,第一个警报触发两次。第三次,第二个警报触发两次,第一个触发一次。第四次,它变得更加奇怪。我想我使用 toggle() 错误,但我不明白怎么做。代码是

<button onclick="$(this).toggle(function(){alert(1)}, function(){alert(2)})">Play</button>

小提琴:http: //jsfiddle.net/2uRKD/

谢谢!

4

4 回答 4

3

Toggle 是一个 jquery 事件,它在替代点击之间切换,您不需要点击事件来绑定切换。

现场演示

$(function(){

  $('button').toggle(

    function() {
        alert(1);
    },

    function() {
        alert(2);
    });​
  });
于 2012-08-13T15:06:48.263 回答
1

尝试这个:

html:

<button type="button">Play</button>

Javascript:

<script>
​$(document).ready(function(){
   $("button").toggle(function(){alert(1)}, function(){alert(2)}) 
});​
</script>

我没有解释:)

于 2012-08-13T15:06:47.377 回答
1

切换不用于在 2 个功能之间切换。这是隐藏和显示元素。

这是一个例子:

http://jsfiddle.net/2uRKD/4/

于 2012-08-13T15:02:54.303 回答
1

您使用的方法的形式是切换事件。这实际上是绑定点击处理程序。因此,您所做的是每次单击时都将切换绑定到事件。我不想试图理解你在那里绑定的逻辑,我只想说这是错误的。:)

您想要做的是:

$('.ToggleButton').toggle(function(){alert(1)}, function(){alert(2)})

这应该放在您的 document.ready 或等效文件中。

于 2012-08-13T15:12:40.960 回答