Я пишу простую подсказку:
$(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 с идентификатором "toolTip" динамически добавляется в DOM, когда пользователь наводит курсор на ссылку. Этот div изначально отсутствует при загрузке DOM, но добавляется позже. Поэтому я предположил, что должен был использовать функцию live()
и прикрепить к ней событие. Но кое-как это работает, если я просто рассматриваю это как обычный селектор. Не то чтобы я жалуюсь, но как это работает?