jquery/IE鼠标移动事件在工具提示淡出时触发,但鼠标不';不动

jquery/IE鼠标移动事件在工具提示淡出时触发,但鼠标不';不动,jquery,internet-explorer-8,tooltip,fadeout,mousemove,Jquery,Internet Explorer 8,Tooltip,Fadeout,Mousemove,我试图让一个工具提示工作,以便它在显示后淡出。除了在IE8中,我的代码工作得很好-鼠标移动事件(在图像上)会随着工具提示的消失而不断被触发,并产生脉动效果。。。淡入/淡出/淡入/淡出 问题与工具提示有关,因为如果我去掉工具提示代码,mousemove事件仅在移动鼠标时调用 您可以在此处看到一个简化的示例: 是的,我可以在IE7和IE8,jquery-1.6.2中重现这一点 我编写了一个图像幻灯片,它使用fadeIn()/fadeOut()在图像之间切换。如果鼠标光标位于幻灯片上,则在切换图像时会

我试图让一个工具提示工作,以便它在显示后淡出。除了在IE8中,我的代码工作得很好-鼠标移动事件(在图像上)会随着工具提示的消失而不断被触发,并产生脉动效果。。。淡入/淡出/淡入/淡出

问题与工具提示有关,因为如果我去掉工具提示代码,mousemove事件仅在移动鼠标时调用

您可以在此处看到一个简化的示例:


是的,我可以在IE7和IE8,jquery-1.6.2中重现这一点

我编写了一个图像幻灯片,它使用fadeIn()/fadeOut()在图像之间切换。如果鼠标光标位于幻灯片上,则在切换图像时会出现img title=“…”工具提示。当工具提示消失(浏览器在几秒钟后将其淡出)时,将调用mousemove()处理程序

有关当前(2011年7月24日)在IE7/8中引发此错误的示例,请参见的首页。如果我能解决这个问题,我会更新这个答案


一种可能的修复方法是将.pageX和.pageY保存在.mousemove()处理程序中,如果鼠标确实没有移动,则返回该处理程序。

是的,我的修复方法似乎有效:

ElementLooper.prototype = {
init: function(items, control, outer){
...
var self = this;
...
this.px = null;
this.py = null;
...
outer.mousemove(function(e) {
                  if (self.px == e.pageX && self.py == e.pageY) {
                    return;
                  }
                  self.px = e.pageX;  self.py = e.pageY;
                  self.show_control();
                });

其他人能复制这个吗?我好像没法把它送到proc.no。无法在ie9(ie8模式)下重复。正如预期的那样工作您正在使用JQuery 1.5.2-尝试升级到1.6.2,因为这很可能已经在源代码中得到了修复。为了谷歌的缘故:出于某种原因,我在IE中使用JQuery制作div不透明动画时也会出现这些虚假的mousemove事件,完全与鼠标分开,鼠标完全位于不同的div上。存储鼠标坐标以查看它是否实际移动,如下所示,成功了。我明白了。。。因此,您正在将鼠标移动事件中的当前鼠标位置保存为全局,然后在执行任何操作之前检查位置是否已更改?有趣。我想知道这是否是一个已知的bug,是否需要报告。