2012-03-02 77 views
1

我想添加和刪除在沒有結果的點擊事件的類。 我正在使用jquery 1.4編寫Drupal 7,書籤鏈接由flag模塊生成。的jQuery .live和.delegate()addClass與removeClass動態問題

我會解釋我需要做什麼。 我有一塊ØHTML代碼:

<div class="container"><a class="bookmark">Bookmark</a></div> 
<div class="container"><a class="flag bookmark">Bookmark</a></div> 

現在,當您點擊「書籤」,自動(由模塊標誌)的鏈接的類改變(它通過AJAX改變和鏈接將重建)

<div class="container"><a class="flag bookmark">Bookmark</a></div> 
<div class="container"><a class="flag bookmarked">Bookmarked</a></div> 

我想要做的就是給一個類的容器,所以我寫了

$('.bookmarked').click(function(){ 
    $(this).parent().removeClass('this-bookmarked');} 
}); 
$('.bookmark').click(function(){ 
    $(this).parent().addClass('this-bookmarked');} 
}); 

這工作第一,它並不像一個「切換」工作。

我試着使用.live(),但沒有結果,它不會在所有的工作。

$("a.flag").live({ 
    click: function() { 
     if ($(this).parent().hasClass("this-bookmarked")) { 
      $(this).parent().removeClass('this-bookmarked');   
     } else { 
      $(this).parent().addClass('this-bookmarked'); 
     } 

     return false;} 
}); 

我想這也

$("a.flag").live('click', function() { 
    if ($(this).parent().hasClass("this-bookmarked")) { 
     $(this).parent().removeClass('this-bookmarked');    
    } else { 
     $(this).parent().addClass('this-bookmarked'); 
    } 

    return false;} 
}); 

,以確保我用.delegate()太

jQuery(function() { 
    jQuery(document).delegate("a.flag", "click", function() { 
     if (jQuery(this).hasClass("this-bookmarked")) { 
      jQuery(this).parent().removeClass('this-bookmarked');   
     } else { 
      jQuery(this).parent().addClass('this-bookmarked'); 
     } 
     return false;} 
    ); 
}); 

兩個.live()和.delegate()不要」即使我想提醒一些文本,也不會給我任何結果和任何錯誤。難道我做錯了什麼?

我應該使用其他的jQuery API嗎?

非常感謝

+0

你可以使用.toggleClass() – 2012-03-02 15:03:42

+0

toggleClass()工程的第一個動作,如果我再次點擊它不工作,因爲你點擊鏈接之後將通過AJAX – 2012-03-02 15:19:02

回答

2

如何

$('a.flag').click(function() 
{ 
    $(this).parent().toggleClass('this-bookmarked'); 
    return false; 
}); 
+0

重建謝謝,但我已經測試過了,它不起作用。 – 2012-03-02 15:13:47

+0

對不起。忘了關閉我的jQuery塊。編輯,它確實有效。 jsFiddle here:http://jsfiddle.net/senoramor/k7Wf9/ – SenorAmor 2012-03-02 15:25:28