89453862 2013-02-20
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中前两条都要做到?未测试。