2011-02-02 28 views
2

所以標題有點聳人聽聞,所以讓我描述了我想要完成的事情。我基本上想要從Firebug創建'檢查元素'懸停效果,因此用戶最終可以從DOM中選擇內容。什麼是一個事件附加到對DOM的一切最明智的方法是什麼?

我開始用一種天真的實施

$('div').bind('mouseover', function() { 
    $(this).css('border', '1px solid black'); 
}).bind('mouseleave', function() { 
    $(this).css('border', 'none'); 
}); 

這有幾個問題(其中一些我可以解決),但直接和最明顯的起泡讓每一位家長<div>得到一個邊界,同時又有它只是連接到<div>小號

我需要列舉每個元素集,我想這個事件連接到?我需要防止起泡不知何故使得只有最上面的元素獲得事件處理程序(和是什麼樣子呢?)

任何和所有的建議表示歡迎!

回答

5
$(document).bind('mouseover', function(event) {  
    $(event.target).addClass('hover'); 
}); 

這會將一個事件處理程序附加到document,並且事件會冒泡到它將要處理的地方。

See it on jsFiddle

+0

請注意,您不需要使用`stopPropagation()`,因爲事件已經冒泡到文檔中了,唯一留給它的是窗口。 – Neil 2011-02-03 00:12:00

相關問題