我有一个使用mousemove jquery函数的工具提示脚本。 IE的一切都运行良好。 看看这里:http://omarabid.com/deploy/ 矩形是“li”元素。当您将鼠标移动时,会出现一个标记。在IE中,标签确实出现,但仅当您将鼠标移动到空白区域(右侧)时。当您移动图像时,没有任何事情让我发疯。
似乎当指针进入图像区域时,标签会随着fadeout()消失,就像鼠标退出该区域一样(这不是真的!!)
问题出在哪里?这是IE漏洞吗?
答案 0 :(得分:2)
实际问题在于标记类的background-color:transparent
(设置了背景颜色,你会发现它有效)。
使用1x1像素的透明背景图片而你应该没问题。
解释
删除background-color: transparent
并在其位置放置一个
background: url(/somepath/transparent.gif) top left repeat;
此transparent.gif
的尺寸应为1px x 1px且透明。 (这是一个下载链接:http://www.imgag.com/product/full/ap/3021018/transparent.gif )
答案 1 :(得分:1)
加载DOM后,您可以在页面中显示:
<div id="photo1" class="taggedimg">
<img id="atag" src="img/photo1.jpg">
<li style="top: 0px; left: 0px; height: 45px; width: 77px; margin-top: 15px; margin-left: 0px; " class="tag mytag"></li>
<li style="top: 55px; left: 45px; height: 340px; width: 960px; margin-top: 15px; margin-left: 0px; " class="tag mytag"></li>
</div>
对我来说似乎很奇怪......
尝试使用以下方法阻止默认行为:
li.mouseenter(function(kmouse) {
kmouse.preventDefault();
my_tooltip.css({
opacity : 0.8,
display : "none"
}).fadeIn(400);
}).mousemove(function(kmouse){
kmouse.preventDefault();
my_tooltip.css({
left : kmouse.pageX + 15,
top : kmouse.pageY + 15
});
}).mouseleave(function(kmouse) {
kmouse.preventDefault();
my_tooltip.fadeOut(400);
});
in img tag / core.js
答案 2 :(得分:0)
我遇到了类似的问题。尝试使用 mouseenter 和 mouseleave 而不是鼠标悬停和mouseout。