检查此元素或此元素是否与jQuery一起盘旋

Ty *_*ley 2 javascript jquery conditional mouseover hover

我的DOM中有两个独立的元素,当任何一个悬停时需要更改.链接悬停时,图像src需要更改(简单)并且链接颜色需要更改.当图像悬停时,需要发生相同的效果(图像src更改和链接颜色更改)

这实际上很容易做到,但我觉得有一种更简单的方法来做我接受的方法.目前,我正在浏览8个元素中的每一个,并测试它们是否单独悬停.这很好用,但这里有更多的jQuery,而不是我应该有的.

我尝试将属性添加onmouseover到两个元素并触发相同的功能,但由于某种原因,该功能未触发.

有没有办法测试是否有任何一个元素悬停并触发一个函数,如果有的话?像这样的东西:

if($(#elm1).hover() || $('#elm2').hover()) {
    //effect here
}
Run Code Online (Sandbox Code Playgroud)

要么

if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
    //effect here
}
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的示例代码,但没有得到任何结果.有没有办法做到这一点,还是我坚持检查每个单独的元素?

Zac*_*ier 7

它可以工作,你只是在页面加载时运行它,而不是在鼠标移动时

$(document).mousemove(function() {    
    if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
        // Do stuff
    }
    else {
        // Revert do stuff or do other stuff
    }
});
Run Code Online (Sandbox Code Playgroud)

这里的例子

但是,正如其他人所说,jQuery已经知道了hover状态,所以这样做是不必要的.实际上,您应该使用相同的选择器将函数应用于它

$('#idOne, #idTwo').hover(function() { /* Do stuff */ });
Run Code Online (Sandbox Code Playgroud)