jQuery如何在页面加载光标hover元素时阻止鼠标中心触发

我的页面上有一个元素,其中绑定了一个mouseenter事件,它改变了子图像的尺寸。

它可以按照我想要的方式工作,但是如果你将光标hover在div所在的页面上,它会在加载时立即触发 – 这是不希望的,我希望它什么都不做,直到鼠标光标真正进入 div而不是而不只是在那里开始。

我试过在jsfiddle上敲一个例子,但页面加载太快,让我把光标放在正确的位置:(

一种可能性是将绑定方法调用置于超时状态,以便绑定事件需要一秒钟,但如果用户将光标留在我的div上,问题仍然会发生。

有任何想法吗?

使用jQuery 1.6.2

嗯。 它唯一的想法。

 var mouse_already_there = false; var event_set = false; $(document).ready(function() { $(item).hover(function(){ if(!event_set) { mouse_already_there = true; } }, function(){ if(!event_set) { mouse_already_there = false; } }); if(mouse_already_there) { //do nothing } else { event_set = true; //set event } }); 

我的工作解决方案是:

  var mouseenterno = 0; $('.selector').on('mouseenter', function() { //your code here mouseenterno = mouseenterno + 1; }); $('.selector').on('mouseleave', function() { if (mouseenterno >= 1){ //your code here } });