错误:语法错误,无法识别的表达式:不支持伪:悬停

问题描述:

我在这里总结我的关键问题。错误:语法错误,无法识别的表达式:不支持伪:悬停

我有我想检查用户是否将鼠标移动到列表之外的不同链接。

$('li').hover(function(){ 
    //do something here 
},function(){ 
    setTimeout(function(){ 
      if($('li').is(':hover') === false) 
      console.log('out'); 
     },100); 
}); 

其中,if($('li').is(':hover') === false)是检查悬停是否存在或不在所有列表中。

假设,如果你悬停在bar和悬停在foo那么它不应该记录文本out但如果你将鼠标悬停在bar任何名单之外移动鼠标即在我的例子foo那么就应该登录out

jsfiddle

+0

该错误消息看起来像$('li')返回空列表。你的DOM中有没有'li'元素? – maciek 2015-01-26 21:19:59

+0

你在我的问题中检查了jsfiddle吗? – 2015-01-26 21:22:18

+0

哎呀,对不起,之前没有发现它...所以,我看了那里,我不知道错误的原因是什么。 :( – maciek 2015-01-27 21:36:29

我不知道为什么你会得到这个错误,但你可以使用这个if语句来检查悬停。

if ($('li:hover').length === 0) 
+1

在这种情况下,不应该是'if($('li:hover')。length === 0)'? – 2015-08-11 16:00:17