2012-09-05 32 views
0

我試圖切換父div當單擊div本身。但我想阻止子div或元素觸發該功能。我怎樣才能做到這一點?只選父項

//javascript (jquery enabled) 
function toggle(parent_id) { 
    $('.'+parent_id).toggle(); 
} 
<!-- html --> 
<div class="parent parent1" onclick="toggle('parent1')"> 
    <div class="child1"></div> 
    <div class="child2"></div> 
</div> 

<div class="parent parent2" onclick="toggle('parent2')"> 
    <div class="child1"></div> 
    <div class="child2"></div> 
</div> 

謝謝!

更新:我想切換特定的div,因此使用一個函數來傳遞特定的父ID。

即。如果我點擊parent1,parent1切換; 如果我點擊parent2,parent2切換

回答

4

下應該做的工作:

$(".parent").click(function(e) { 
    if (e.target == this) { 
     $(this).toggle(); 
    } 
}); 

DEMO:http://jsfiddle.net/Md4U5/

+1

是的,emb爭奪「這個」的力量。 –

+0

另外一個@VisioN,我總是喜歡用下面的方法測試目標:'var eTarget = e.target!== null? e.target:e.srcElement;'否則+1爲你哈哈 –

+0

@mcpDESIGNS好的趕上,謝謝!但是,它可能會混淆OP;) – VisioN

0

這很簡單,只是延長@視覺的答案,以確保所有這些div s有一類parent

$("[class~=parent]").click(function(e) { 
    if (e.target == this) { 
     $(this).toggle(); 
    } 
});