2012-03-14 75 views
0

我有一個網頁,其中包含一個部分,稱爲'答案''answer'部分應該隱藏,直到用戶點擊'show-answer'超鏈接。jquery切換命令意外觸發

所以使用jQuery切換命令來實現這一目標:

$('.show-answer').toggle(function() { show_answer ...} , 
             function() {hide_answer ...}) 

它本身運作良好。

但是,當我在同一頁面上添加另一個表單時遇到問題。提交表單時,我將其重定向到最後附有錨點"#xxx"的頁面。

然後我發現觸發功能意外觸發。基本上,如果'answer'部分在提交表單之前隱藏,則在瀏覽器重定向到頁面後,該部分將變爲可見。

+0

您可能需要添加is(「:visible」)方法來檢查重定向後是否顯示答案以處理它。我假設你將第二種形式的散列重定向到同一頁面。 – XepterX 2012-03-14 04:26:32

+0

你有任何點擊處理器來切換? – 2012-03-14 05:53:33

回答

0

可使用click處理程序會幫你

$(document).ready(function(){ 
    $('.answer').on('click', function(e){ 
     e.preventDefault(); 
     $('.show-answer').toggle('show'); 
     //Or use the following  
     //$('.show-answer').slideToggle();     
    }); 
}); 

小提琴是here

+0

謝謝。不過,當我將瀏覽器重定向到頁面時,似乎會觸發點擊功能。這與我使用切換時遇到的問題相同。 – 2012-03-14 21:45:05