2014-10-20 54 views
0

在SharePoint中,我試圖能夠通過頭元素在組中的任何地方點擊並讓該組展開/摺疊。我已經完成了部分工作。現在我可以點擊元素中的任何地方,除了打開它的<a>標記外。除了<a>標籤之外,如何在單擊任意位置時如何設置條件以運行該功能?如果元素被點擊,做這個功能,除非這個孩子被點擊

以下是我有:

$(document).ready(function() { 
var groupby = $(".ms-gb"); 
groupby.click(function(){ 
    var groupbyAnchor = $("a", this); 
    groupbyAnchor = groupbyAnchor[0]; 
    expandThisGroup(groupbyAnchor)}); 
}); 

function expandThisGroup(anchor) { 
anchor.click(); 
} 

回答

1

換一種處理程序,以防止事件傳播的子元素:

groupby.find("a").click(function(e) { 
    e.stopPropagation(); 
}); 
+0

工作得很好。謝謝。 – Jordan 2014-10-20 20:12:55

1

你可能不喜歡這樣。將click事件目標傳遞給該函數,如果目標不是給定的anchor,則執行一些操作,否則不執行任何操作。

$(document).ready(function(){ 

    var groupby = $(".ms-gb"); 

    groupby.on('click', function(e){ 

     var $target = e.target, 
      $anchor = $('a', this); 

     if(!($target == $anchor)){ 
      // do function 
     }else{ 
      return false; 
     } 
    }); 
}); 
相關問題