检查jQuery .hover操作是否已经绑定

有没有办法检查一个元素是否已经有一个由jQuery .hover函数触发的动作?

您可以通过检查element.data('events')['eventName']来检查它

在hover的情况下,它将是:

 var hasHover = x.data('events')['mouseover'] && x.data('events')['mouseout']; 

在jQuery 1.8及更高版本中,您必须使用此答案中提到的$._data访问它

 var events = $._data(obj[0], "events"); var hasHover = events['mouseover'] && events['mouseout']; 

看看选择器上的filter

 $('.result').each(function(){ $(this).hover(function() { $(this).filter(':not(:animated)').animate({ 'height':'110px', },160); },function(){$(this).animate({'height':'38px'},80);}); });