5

对于列表项,我有一个悬停 mousein mouseout 设置,如下所示:

$("#main-nav li a").hover(function() {
                $el = $(this);
                leftPos = $el.position().left;
                newWidth = $el.parent().width();
                $magicNav.stop().animate({
                    left: leftPos,
                    width: newWidth
                });
            }, function() {
                t1 = $(".current-menu-item a").position().left;
                t2 = $(".current-menu-item a").parent().width();
                $magicNav.stop().animate({
                    left: t1,
                    width: t2
                });    
            });

我想在有人进入网站或页面加载后立即自动触发“.current-menu-item a”上的悬停。

目前,我使用$(".current-menu-item a").trigger('hover');它并不起作用。

帮助?

4

4 回答 4

9

用这个

$(document).ready(function(){
    $(".current-menu-item a").mouseover();
});

或者

$(window).load(function(){
    $(".current-menu-item a").mouseover();
});
于 2012-07-30T11:50:38.850 回答
2
$(".current-menu-item a").trigger('mouseenter');

悬停不是真正的事件(它是 jQuery 人为设计的,由mouseenter和组成mouseleave)。无论如何,这是一个两阶段的过程,因此在逻辑上是不可触发的。

于 2012-07-30T11:50:31.200 回答
0

你需要使用鼠标悬停而不是像这样悬停

$(".current-menu-item a").trigger('mouseover');

于 2012-07-30T11:50:45.733 回答
0
$('selector').trigger('eventName');
于 2013-09-27T06:23:42.747 回答