2012-03-02 78 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