2012-04-27 63 views
-2

我以爲我看見的地方,你可以做這樣的事情在jQuery的jQuery的切換與

$(".show").on("click", function(){ 
    alert('1st'); 
}, function() { 
    alert('2nd'); 
}); 

其中第一個點擊將調用拳之一,第2個點擊:第二個和第三個回第一一。我知道這個特定的示例不起作用,但有沒有類似的方式來切換jQuery中的點擊行爲?

+0

這將始終激發alert('2nd')':http://jsfiddle.net/5ZCyx/ – fcalderan 2012-04-27 16:00:27

+1

你的問題是? – NicoSantangelo 2012-04-27 16:00:28

+0

不!我不工作! – JeanValjean 2012-04-27 16:01:28

回答

0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('.show').addClass('OddClick'); 

      $('.show').live('click', function() { 
       var obj = $(this); 

       if (obj.hasClass('OddClick') === true) { 
        obj.addClass('EvenClick').removeClass('OddClick'); 
        alert('1st'); 
       } 
       else { 
        obj.addClass('OddClick').removeClass('EvenClick'); 
        alert('2nd'); 
       } 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div class="show" style="font-size: 25px; font-weight: bolder; cursor: pointer;"> 
     Hello World 
    </div> 
</body> 
</html> 
+0

現場演示請參閱此鏈接:http://jsfiddle.net/nanoquantumtech/4EhMj/ – Thulasiram 2012-04-28 08:48:14

0

你快到了。你可以在jQuery中使用toggle event來實現這種行爲。它會導致每次連續的點擊循環你提供的回調。你的情況,你可以這樣做:

$(".show").toggle(function(){ 
    alert('1st'); 
}, function() { 
    alert('2nd'); 
}); 

您可以通過,如果你喜歡

$(".show").toggle(function(){ 
    alert('1st'); 
}, function() { 
    alert('2nd'); 
}, function(){ 
    alert('3rd'); 
}); 

提供回調任意數量的循環你可以看到這個動作在這個jsFiddle demo page