2014-02-11 80 views
0

點擊不同的DIV標籤

我有兩個DIV標籤。 1)綠色是外部Div標籤,其onclick屬性設置爲alert('點擊')。 2)黃色是內部DIV標記

現在,當我點擊內部div標記時,會彈出一個警報。從內部div標籤中選擇項目時重複相同。我無法選擇內部的div標籤。這怎麼解決?

此外,我將嵌套動態生成的div標籤。我卡在這裏

+0

發佈您的代碼將讓我們更容易理解你的問題 – 131

回答

0

檢查了這一點。你可以申請ID,並使用這些ID來控制onclick。

<html><head></head> 
<body> 
<script type="text/javascript"> 
function manualToggle(val) 
{ 
    alert(val.id); 
} 

</script> 

<div id="test" onclick="manualToggle(this);"> 
    <span>Allowed to click</span> 
    <span onclick="event.cancelBubble=true;if (event.stopPropagation) event.stopPropagation();">Not allowed to click</span> 
    <span>Allowed to click</span> 
</div> 
</body> 
</html> 
1

一種解決辦法是設置一個事件偵聽器,您outer容器,當監聽器被觸發,只有你已經驗證點擊沒有任何容器的孩子的起源(在這種情況下,後採取行動,inner)。你可以調整這個解決方案只能由類,ID等排除特定的兒童:

$(document).ready(function() { 

    var outer = $('.outer'); 
     outer.on('click', handleOuterClick); 

    function handleOuterClick(e) {   
     //Assert that the click originated from the outer div, and not from 
     //any of its children 
     var origin = e.target, 
      children = outer.children(); 
     if(children.index($(origin)) == -1) { 
      //Proceed by displaying an alert 
      alert("You clicked the outer div!"); 
     } 

    }; 

}); 

這裏的小提琴:http://jsfiddle.net/39ssk/