我有一个带有图像映射的图像,我需要用半透明的 div 和锚点覆盖它。由于图像和图像映射因页面而异,实际代码动态生成图像映射,重用单个 div 和覆盖链接的锚点。
您可以在Fiddle上看到代码的简化版本。我已经很适合让它在 Firefox 和 IE 中运行。就像现在的代码一样,它适用于两者,但是如果您在 IE 中将鼠标缓慢移到黄色框的左侧,则会留下“突出显示” div 的白色背景。每次都会触发 mouseleave 函数——你可以知道你是否取消注释警报——所以看起来问题出在这一行:
$('#highlight').css('display', 'none');
当我将 CSS 从高亮 div 的锚点更改为高亮 div 本身时,我在 Firefox 和 IE 中都有挥之不去的 div 问题。使用突出显示 a:hover,它只发生在 IE 和 Firefox 上工作正常。
如果我在高亮框的内联 CSS 中留下“背景颜色:白色”,则代码在 IE 中失败;亮点根本不显示。
我尝试过使用许多不同的方法,包括在 a:hover 伪类和高亮 div 本身之间切换 CSS,在 JQuery 中使用不同的函数,但没有一个在 IE 中可靠工作。
我查看了一些 JQuery 插件,例如 MapHilight,它们会导致我必须使用的其他一些代码出现问题。
谁能看到我缺少什么才能让它在 IE 和其他浏览器中可靠地工作?