【问题标题】:IE 11 Not Firing Mouseenter or Mouseleave Events On SVG MapIE 11 未在 SVG 地图上触发 Mouseenter 或 Mouseleave 事件
【发布时间】:2016-08-29 01:48:59
【问题描述】:

我已经为此苦苦挣扎了 2 天,并且已经阅读(并尝试)了比我想象的更多的“黑客”,但我所做的任何事情似乎都不起作用。

我有一张美国的 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 的 sn-p:

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

任何帮助都将不胜感激,因为这是使用类似地图在此站点上进行的更大项目,此页面上的此失败不是世界末日,但另一方面,它的工作是关键任务.

【问题讨论】:

  • 我还应该补充一点,正在使用一个 hack,以便地图在 IE 中使用带有填充的父容器正确缩放,然后使用绝对定位“向上滑动”地图。

标签: javascript jquery css internet-explorer svg


【解决方案1】:

找到了问题,这是我使用的 jQuery 版本中的一个错误。更新了版本,问题就解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多