2011-09-19 33 views
0

我有這個codex,與jquery e rapahel_jquery一起工作。這是一些mouseevents的功能。用於IE和Opera的mouseout問題。 這是從食品推斷:mouseout與Opera e IE

for (var province in ita) 
{ 
     (function (prov, province) 
     { 
      prov.color = Raphael.getColor();     
     prov.scale(2.5, 2.5); 
     }); //close mouseover 

     prov.mouseout(function() 
     { 
     alert('ciao'); 
      prov.scale(1, 1);  
     }); //close mouseout 

      prov.mousedown(function() 
     { 
     dialog($alfa); // calling the function dialog 
     }); //close mousedown 

     }); //close function (prov, province) 
    } 

所有的作品,但不prov.mouseoutIEË歌劇!爲什麼??你可以幫我嗎??

謝謝!

回答

0

你正在使用jQuery?試試mouseleave而不是mouseout。

mouseleave是一個IE瀏覽器的JavaScript事件。現在,jQuery對mouseleave的解釋與它們的mouseout版本略有不同。

當鼠標移到與其綁定的元素之外時,會觸發jQuery mouseleave。

當鼠標移到與其綁定的元素之外時,或者當鼠標移出該元素的任何後代元素時,觸發jQuery mouseout。

我不明白爲什麼你會想要檢測後代元素的鼠標移出,所以這就是爲什麼我使用jQuery mouseleave處理所有事情並從不打擾mouseout的原因。

此外,也許這個jquery e rapahel_jquery庫使用jQuery的舊版本,如果你能夠使用更新的版本,也許這個Opera/IE的錯誤將被糾正?我仍然會嘗試使用mouseleave,因爲(據我所知,無需查看jQuery源代碼),它會使用完全不同的功能來完成類似的操作,並且旨在複製僅限IE的事件。

+0

好的,謝謝。我已經嘗試過,它仍然無法正常工作......我不明白....現在我將認識到我的完整代碼的一個問題,所以我希望能夠清楚我的問題! – ulisse