2011-11-15 31 views
1

的任何兒童(任何級別)我有這樣的代碼:如何處理程序元素

<div class="fascia"> 
    <div class="elements"> 
     <h3 class="titolo"><a href="/link">Title</a></h3> 
     <div class="desc"><a href="/link">Desc</a></div> 
    </div> 
    <a id="photo" href="/link">&nbsp;</a> 
</div> 

現在我想我去的fascia每一個元素光標懸停在「提醒」每一次做,我該怎麼做?

回答

1
$("div.fascia").children().hover(function(){alert("test");}); 

demo

您可能要過濾選擇傳遞給孩子的方法(即children("div"))以避免所有兒童被選中(兒童及其子女等,你將有多個提醒所有兒童)

3

假設我正確地理解了你的問題,你可以綁定一個mouseover事件處理程序到.fascia。因爲DOM事件冒泡通過DOM,一個mouseover事件對孩子會起泡高達.fascia和處理程序將被觸發:根據意見

$(".fascia").mouseover(function() { 
    alert("Mouse over!"); 
}); 

編輯如果您希望事件綁定只給.fascia孩子,而不是.fascia本身,你可以使用children方法:

$(".fascia").children().mouseover(function() { 
    alert("Mouse over!"); 
}); 
+0

不,我知道如何做到這一點!我只需要孩子()。因此,如果一個元素有餘量,我不趕上處理程序... – markzzz

+0

@markzzz - 正如DanZimm所說,你可以選擇孩子並將事件處理程序綁定到他們。我已經更新了我的答案。 –

1

見JQ uery hover方法,如:

$(".fascia").children().hover(function() { 
    alert('on hover!'); 
}); 
1

如果有不尋常的東西像容器div不佔用兒童的空間。這兩個高度都較小或者具有不同的位置。 '*'可以用來定位所有元素,如

$('.fascia *').live('mouseover', function(){ 
    alert('hi'); 
});