2016-05-03 54 views
2

我一直在爲此苦苦掙扎2天,並且閱讀(並嘗試過)比我想象中更多的「黑客」,似乎我沒有做任何事情。IE 11未在SVG地圖上觸發Mouseenter或Mouseleave事件

我有一個美國的SVG地圖,有mouseenter和mouseleave的jQuery事件,在IE 11(和我認爲是9 & 10)忽略的其他瀏覽器中工作正常。

當進入狀態的邊界時,填充應該改變(在FF中嘗試)並且應該顯示一個工具提示(並按照鼠標)。他們再次在其他瀏覽器中正常工作,但IE只是忽略它們。我嘗試了一個鼠標懸停事件來查看它是否工作並確實如此。 IE也正確地工作在點擊功能上,但這兩個只是炸彈。

您可以在http://amgoa.org/State-Gun-Laws看到頁面的JS是http://amgoa.org/scripts/reciprocity.js

這裏是JS的一個片段:

$('.state').mouseenter(function() { 

    if (!state_selected) { 
     $(this).css('fill', '#c8b33b'); 
     } 

    if (strpos($(this).attr('id'), 'R_') === false) { 

     $('#state_label').text($(this).attr('alt')).show(); 

     $(document).mousemove(function(e) { 

      $('#state_label').css({ 
       left: e.pageX - 55, 
       top: e.pageY + 20 
       }); 

      }); 

     } 
    else if (state_selected) { 
     $('#state_label').text('').hide(); 
     } 

    }); 

$('.state').mouseleave(function() { 
    if (!state_selected) { 
     $('#state_label').text('').css('display', 'none'); 
     $(this).css('fill', '#001a8b'); 
     } 
    }); 

任何幫助,將真正的讚賞,因爲這是拿着這個更大的項目網站使用類似的地圖,這個頁面上的失敗並不是世界末日,但另一方面,它的使命至關重要。

+0

我還應該補充說,有一個黑客正在使用,以便地圖在IE中使用帶有填充的父容器正確縮放,然後使用絕對定位'滑動'地圖。 –

回答

2

發現問題,這是我使用的jQuery版本中的一個錯誤。更新版本和問題不存在

相關問題