强制元素状态悬停在另一个悬停元素/jQuery的函数中

强制元素状态悬停在另一个悬停元素/jQuery的函数中,jquery,hover,Jquery,Hover,我看到了很多关于状态hover和jQuery的东西,但对我的问题却一无所知。 我想强制一个类成为:hover,而另一个类是:hover。 很难解释,因此我的代码如下: $(document).mousemove(function() { if($('.h').is(':hover')){ $('.h .btn-1e').trigger('mousover'); } }); 事实上,二级悬停有点复杂,我不能通过addClass/removeClass(悬停包括:在事物之后,动画

我看到了很多关于状态hover和jQuery的东西,但对我的问题却一无所知。 我想强制一个类成为:hover,而另一个类是
:hover
。 很难解释,因此我的代码如下:

$(document).mousemove(function() {    
if($('.h').is(':hover')){ 
    $('.h .btn-1e').trigger('mousover');
}
});
事实上,二级悬停有点复杂,我不能通过
addClass
/
removeClass
(悬停包括
:在
事物之后,动画等等)


谢谢你的帮助,对不起我的英语

我通常会触发如下事件:

$(document).mousemove(function() {    
    if($('.h').is(':hover')){ 
        $('.h .btn-1e').mouseover();
    }
});

你试过了吗?

我会这样做:

定义您自己的新hover类(我知道您编写了hover css,这很复杂,但是您当然可以用hover类替换您的hover,在这里您还可以添加:after…:

现在,使用jquery在这个悬停事件函数中设置这个悬停类:

$(".class1, .class2").hover(function() {
    //mouseenter
    $(this).addClass("hover");
}, function(){
    //mouseleave
    $(this).removeClass("hover");
});
现在您可以说,当鼠标悬停在
class1
元素上时,所有
class2
元素都应该成为悬停状态(即您的悬停类):

$(".class1").mouseenter(function() {
    //on hover class1 force hover state to class2
    $(".class2").mouseenter();
}).mouseleave(function() {
    //remove it on mouseleave
    $(".class2").mouseleave();
});
我为您制作了一个JSFIDLE:

有关更多信息,请阅读API:

我希望,这可以帮助您,我不知道您的代码,但我认为在您的情况下使用hover类并非不可能。例如,您可以为悬停类指定一个
:after
元素或一个动画:

.class1.hover:after {
    /* content, animations ... */
}

你有没有试过。mouseenter()和。mouseleave()?我看过帖子,但我不认为这是我需要的。当一个元素悬停时,我不想添加类,我只想在第一个元素悬停时模拟第二个元素上的悬停。@Jordan您是否检查了
$('.h.btn-1e')。length
不是0?如果是,则表示您的选择器找不到任何内容。是的,它将以美元('.h.btn-1e')返回我“1”。长度谢谢@sim!但是试了几次还是不行。。我得到了这个错误:Uncaught RangeError:超过了最大调用堆栈大小我在这里也做了一个JSFIDLE:我不能重现你的错误,但是你想在鼠标进入.choice divs时设置按钮的动画,对吗?所以我只用CSS做了这个:如果你不想这么做,请告诉我!嗯,像这样太完美了!非常感谢你,西姆!你救了我的命
.class1.hover:after {
    /* content, animations ... */
}