Это то, что сработало. Я не совсем уверен, почему .live () не требуется, потому что он загружается через Ajax. Я думаю, это то, что сбило меня с пути.
$(document).ready(function(){
var overFn = function(){
$(this).find('a.top-nav-link-hover').addClass("top-nav-hover");
$(this).find('div.sub').slideDown(300);
$(this).css('z-index', 9000 );
return false;
};
var outFn = function(){
$(this).find('div.sub').slideUp(280, function() {
$(this).siblings('a.top-nav-hover').removeClass("top-nav-hover");
});
$(this).css('z-index', 8000 );
};
$('li.top-nav-links').hoverIntent({
over: overFn,
out: outFn
});
});
Примечание: .live () требовалось до добавления hoverIntent.
Обновление: Приведенный выше код работал на тестовом сайте. Однако, как только мы перенесли его на
Живой сайт нам нужно было внести изменения, потому что он перестал запускать hoverIntent.
и я нашел этот пост RANDOM.NEXT () очень полезным в поиске нашего разрешения -
http://bit.ly/D4qr9
Это окончательный окончательный код:
jQuery(function()
{
$('li.top-nav-links').live('mouseover', function()
{
if (!$(this).data('init'))
{
$(this).data('init', true);
$(this).hoverIntent
(
function()
{
$(this).find('a.top-nav-link-hover').addClass("top-nav-hover");
$(this).find('div.sub').slideDown(300);
$(this).css('z-index', 9000 );
return false;
},
function()
{
$(this).find('div.sub').slideUp(280, function() {
$(this).siblings('a.top-nav-hover').removeClass("top-nav-hover");
});
$(this).css('z-index', 8000 );
}
);
$(this).trigger('mouseover');
}
});
});