功能之间奇怪的切换,我做错了什么?

时间:2012-08-13 14:58:02

标签: jquery

我第一次点击,没有。第二次,第一次警报发射两次。第三次,第二次警报发射两次,第一次发射一次。第四次,它变得更加怪异。我想我正在使用toggle()错误,但我不知道如何。代码是

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

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

谢谢!

4 个答案:

答案 0 :(得分:3)

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

<强> Live Demo

$(function(){

  $('button').toggle(

    function() {
        alert(1);
    },

    function() {
        alert(2);
    });​
  });

答案 1 :(得分:1)

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

以下是一个例子:

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

答案 2 :(得分:1)

试试这个:

HTML:

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

使用Javascript:

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

我没有解释:)

答案 3 :(得分:1)

您正在使用的方法的形式是toggle event。这样做的有效方法是绑定点击处理程序。所以你所做的就是每次点击你都会将切换绑定到事件。我不会试图理解你在那里绑定的逻辑,只要说这是错误的。 :)

您想要做的事情是:

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

这应该放在你的document.ready或同等版本中。

相关问题