1

我正在尝试使工具提示起作用,以便在显示后淡出。我的代码在 IE8 中运行良好 - mousemove 事件(在图像上)随着工具提示的淡出而不断被触发,它会产生脉动效果......淡入/淡出/淡入/淡出。

该问题与工具提示有关,因为如果我摆脱了工具提示代码,则仅在移动鼠标时才调用 mousemove 事件。

你可以在这里看到一个简化的例子:

点击查看简化示例(使用 IE8)

4

2 回答 2

2

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

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();
                });
于 2011-07-25T01:42:29.907 回答
1

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

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

有关当前(2011 年 7 月 24 日)在 IE7/8 中引发此错误的示例,请参见http://davidhoulder.com的首页。如果我设法解决或解决此问题,我将更新此答案。

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

于 2011-07-24T03:36:57.897 回答