2016-05-03 9 views
2

私はこれで2日間苦労していて、想像以上に「ハック」を読んでいます。IE 11マウスイベントやマウスイベントをSVGマップで発火させない

私はSVGマップを米国に持っていますが、IE11(と私はと仮定します)が無視している他のブラウザで正常に動作するmouseenterとmouseleaveのjQueryイベントがあります。

州の境界線に入ると、塗りつぶしが変わります(FFで試してみてください)。ツールチップが表示されます(マウスをたどります)。再度彼らは他のブラウザで正常に動作しますが、IEはそれらを無視します。マウスオーバーイベントを試してみました。 IEはまた、クリック機能でも正しく動作しますが、これらの他の2つは爆弾です。

あなたはJSはここhttp://amgoa.org/scripts/reciprocity.js

であるJSの抜粋ですhttp://amgoa.org/State-Gun-Lawsでページを見ることができます:

$('.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'); 
     } 
    }); 

これは、この上で大きなプロジェクトを保持しているとしてすべてのヘルプは本当にいただければ幸いですこのページのこの失敗は、世界の終わりではなく、もう1つは、それがうまくいくことが不可欠です。

+0

また、パッキング付きの親コンテナを使用してIEでマップのスケールが正しく行われ、絶対配置を使用してマップが「スライド」されるように、ハックが使用されていることを追加する必要があります。 –

答えて

2

問題が見つかりました。使用していたjQueryバージョンのバグでした。バージョンを更新して問題が解決しました

関連する問題