我写一个简单的提示:这个jQuery选择器如何工作?
$(function() {
$('a').hover(function() {
var curLink = $(this);
var toolTipText = curLink.attr('title');
if (toolTipText)
{
var theOffset = curLink.offset();
$('body').prepend('<div id="toolTip">'+toolTipText+'</div>');
// how the heck is this working???
$('#toolTip').css({
'left' : theOffset.left+'px',
'top' : theOffset.top - 30+'px'
});
}
}, function() {
$('#toolTip').remove();
});
});
正如你可以看到一个div“工具提示”的ID,当用户将鼠标悬停在链接动态添加到DOM。当DOM加载时,最初并不存在div,但稍后添加。所以我认为我必须使用live()
函数并附加一个事件。但是,如果我把它当作一个普通的选择器,它会如何工作。不是我在抱怨,但这是如何工作的?
请记住,即使您不得不使用'.live()',您将不得不使用'.delegate()'而不是'.live()'。由于'.live()'将应用于整个DOM和'.delegate()'特定的DOM元素。它的性能更好。 – PeeHaa