IE中,鼠标移入元素连续触发mouseenter和mouseleave

zc的救赎 2017-03-03 05:37:18
想实现一个面板,当鼠标移入时显示,鼠标离开时隐藏,为避免冒泡,使用了JQ的mouseenter和mouseleave,在其他浏览器没有问题,但是在IE中,当鼠标移入的时候,先是触发mouseenter,紧接着就触发mouseleave,导致面板显示不出来。按理说鼠标移入元素不可能触发mouseleave的啊?于是打断点,发现此时的jq event属性clientX和clientY都为-1,我的鼠标是在屏幕中部,怎么会变负数呢?offsetX也变成了-886,鼠标刚移进元素,怎么会距离元素的位置的这么远?请哪位大神解惑。


...全文
340 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_42053714 2020-07-17
  • 打赏
  • 举报
回复
写兼容ie的代码
zc的救赎 2017-03-06
  • 打赏
  • 举报
回复
已经解决了,虽然不知道为什么IE中在鼠标刚移入元素的时候会触发mouseleave,但是此时鼠标相对于客户区域的坐标是在外面的。所以会出现clientX = -1;还遇到一个问题就是IE中透明背景竟然也会触发mouseleave,后来加了1*1的透明图片才不会触发。
Go 旅城通票 2017-03-03
  • 打赏
  • 举报
回复
offset改client试试

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧