2011-04-11 57 views
0

我想在父容器上點擊子容器中的圖像鏈接時,忽略onclick。在jquery中禁用onclick功能的父/子容器

我在一個名爲「.sight-title」的容器上使用了onlick: - 用toggleClass(「active」)更改類;

<div class="sight-title" id="S2851"> 
    <div class="row1"></div> 
    <div class="row2"></div> 
</div> 

點擊後: -

初始狀態Ajax調用改變內容

<div class="sight-title active" id="S2851"> 
    <div class="detail1"> 
    <a class="wikilink" target="_blank" title="en.wikipedia.org/wiki/Marollen" href="http://en.wikipedia.org/wiki/Marollen"><img src="img/contact/culisite_wikipedia.png" border="0"></a> 
    </div> 
    <div class="detail2"></div> 
</div> 

當德父 「.sight標題」 再次點擊它變回初始狀態。

但是,當class =「wikilinks」被點擊時,我不想在父容器上的onclick工作。

jQuery代碼:類= 「wikilinks」 被點擊時,其他部分應該被禁用...

$(".sight-title").click(function() { 
       var id=$(this).attr("id");          
       $("#"+id).toggleClass("active");      
       if($(this).hasClass("active")){ 
        $("#"+id).html(ajax_load); 
        $.get( 
        loadUrlDetail+"?id="+id+'&arrondissement='+arrondissement, 
        {language: "php", version: 5}, 
        function(responseText){ 
         $("#"+id).html(responseText); 
        }, 
        "html" 
        ); 
       } else { 
        $("#"+id).html(ajax_load); 
        $.get( 
        loadUrlTitle+"?id="+id+'&arrondissement='+arrondissement, 
        {language: "php", version: 5}, 
        function(responseText){ 
         $("#"+id).html(responseText); 
        }, 
        "html" 
        ); 
       } 
      }); 

回答

0

使用jQuery的解除綁定:http://api.jquery.com/unbind/

$('a.wikilink').click(function() { 
    //do stuff 
    $('a.sight-title').unbind('click'); 
}); 

編輯2:

如果鏈接不存在,則可能需要使用live,而不是在創建鏈接時k事件。

$('a.wikilink').live('click', function() { 
    //do stuff 
    $('a.sight-title').unbind('click'); 
}); 

編輯:

作爲一個側面說明,你可能想利用jQuery's load function,而不是你的GET和這樣。

我想你會發現它讓你的生活更輕鬆。

你也應該看看你的選擇器。您選擇與$("#"+id)完全相同的對象,而不是僅僅執行$(this)

+0

似乎沒有工作...我已經把它放在$(「。sight-title」)之前,點擊部分 – 2011-04-11 21:03:35

+0

你沒有足夠的實際能夠分辨,但是如果你的.wikilink鏈接不僅僅是隱藏的,而是被加載,使用live來代替:'$('a.wikilink')。live('click',function(){...});'' – 2011-04-12 14:17:34