我有一個使用mousemove jquery函數的工具提示腳本。一切工作正常期待IE瀏覽器。 看看這裏:http://omarabid.com/deploy/ 矩形是「li」元素。當您移動鼠標時,會出現一個標籤。在IE中,標籤確實出現,但只有當您將鼠標移動到空白區域時(右側)。當你移動圖像時,沒有任何事情會讓我發瘋。IE mousemove bug
好像當指針進入圖像區域,標籤與淡出()這就像如果鼠標退出區域(這是不正確的!)
那麼問題出在哪裏消失?這是一個IE錯誤?
我有一個使用mousemove jquery函數的工具提示腳本。一切工作正常期待IE瀏覽器。 看看這裏:http://omarabid.com/deploy/ 矩形是「li」元素。當您移動鼠標時,會出現一個標籤。在IE中,標籤確實出現,但只有當您將鼠標移動到空白區域時(右側)。當你移動圖像時,沒有任何事情會讓我發瘋。IE mousemove bug
好像當指針進入圖像區域,標籤與淡出()這就像如果鼠標退出區域(這是不正確的!)
那麼問題出在哪裏消失?這是一個IE錯誤?
實際的問題在於標籤類上的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)
一旦你的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>
似乎weard我...
儘量避免使用默認的行爲:
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);
});
在imgtag
/core.js
我遇到了類似的問題。嘗試使用mouseenter和mouseleave而不是mouseover和mouseout。
奇妙的回答! :)我永遠不會找出原因。 順便說一句,我不明白你的解決方案:( – 2010-07-21 14:08:09
@Omar,更新的答案與解釋和鏈接到一個圖像.. – 2010-07-21 14:23:37
謝謝,你搖滾:) – 2010-07-21 14:25:12