2010-07-01 39 views
3

jQuery中的click()函數在使用多個堆棧div時如何工作?jquery中的click()函數在使用多個堆棧div時如何工作?

我有一個主div和另一個div在主div裏面,當我點擊裏面的div時,它也被認爲是主div上的一個點擊,但是我不想要這個,我希望它只考慮點擊在裏面div。

<div id="main"><div id="inner"></div></div> 

可以說主要的div是很多更大的腸子DIV只是一個小廣場上,當我點擊內DIV(小廣場),我不希望它觸發點兒什麼,彷彿我點擊在主要的分區。我該如何操作?再次感謝!

回答

5

事件從點擊過的所有祖先中冒出來。任何處理該事件的祖先都會觸發它的處理程序。

你需要做的是打電話event.stopPropagation(),以防止事件冒泡到它的祖先元素。

$('#inner').click(function(evt) { 
    evt.stopPropagation(); 
    // your code 
}); 

另一種選擇是return false;在處理程序結束。

$('#inner').click(function(evt) { 
    // your code 
    return false; 
}); 

您可以在這裏測試一下:http://jsfiddle.net/ZpeYr/

0
$('#inner').click(function() { 
    alert('clicked inner div'); // do something 
}); 

可以使用CSS ID使用呼叫你內心的div。