Jquery hover 事件中在 IE 中存在的 BUG

评论(11)

Jquery 也有 BUG ?
是的!Jquery hover 事件在 IE 中就存在 Bug
因为帮朋友做一个在 elegant-box 主题中的特效要用到 Jquery 中的 hover 替换事件,
hover 是 Jquery 中的一个关于鼠标移入、移出时间交替的事件,
主要用于在鼠标移入特定区域、移出特定区域执行绑定函数、动作的效果,
今天在使用时遇到在IE浏览器中的一个 BUG,

$("#div").hover(
  fun1(),
  fun2()
);

主要表现在当鼠标移入指定区域后,fun1能正常执行,但fun2会跟着也执行,
我本来的目的是想移入后显示两个按钮,移出后将按钮隐藏,
这样一来在IE中的显示就成了,当鼠标移入以后,要显示的按钮会昙花一现…….
到底是哪里出了问题?
原来 Jquery 在 IE 中使用 hover 来做事件交替,
绑定事件的 Jquery 对象或对象内部元素不能拥有{position:relative;}属性,
否则在 IE 中显示会不正常,要想修正这个 BUG 有两个办法。
1.删除所有 {position:relative;}属性。(比较暴力有木有)
2.保留{position:relative;}属性,将元素背景颜色都做设定。(也很暴力)
3.没有找到IE6修复的办法,也许IE6中前两条都要做到?未测试。
该死的 IE !





  1. 你不研究这个能看懂就不对了!@ymmcute

  2. 俺真的来看了,真的是没看懂,俺尽力了!

  3. @梦无忧
    oopps!

  4. 这个翔子,好像有点熟悉呀!

  5. @礼品
    是的

  6. @卢松松
    应该是,
    至少ie8以下
    打算再整理测试一下,
    出个详细点的文章,
    hover事件在做下拉菜单的时候用的多。

  7. 不错,。谢谢博主分享。。

  8. 针对的是IE所有版本吗?

  9. 程序这档子事自己还是不太会!

  10. 没有完美的事情。