javascript - IE 11 未在 SVG map 上触发 Mouseenter 或 Mouseleave 事件

标签 javascript jquery css internet-explorer svg

我已经为此奋斗了两天,阅读(并尝试)了比我想象的更多的“黑客”,但我所做的似乎都不起作用。

我有一张美国的 SVG map ,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');
        }
    });

任何帮助将不胜感激,因为这正在使用类似的 map 阻碍该网站上的一个更大的元素,该页面上的失败并不是世界末日,但在另一个页面上,它的工作至关重要.

最佳答案

发现问题了,这是我使用的 jQuery 版本中的一个错误。更新版本,问题消失了

关于javascript - IE 11 未在 SVG map 上触发 Mouseenter 或 Mouseleave 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37013908/

相关文章:

javascript - 关闭三星智能电视应用程序中的网页

jquery - 列表上的单击功能不应影响嵌套 ul

javascript - jquery wrap, append, prepend 到父 div

css - React 组件的本地较少样式表

html - 可以在 Div 边框上有投影吗?

javascript - 使用 jQuery 仅选择第一级后代 - 有更好的方法吗?

javascript - 设置超时函数回调静态变量

javascript - 删除表单中动态创建的元素

javascript - Moment js按周和星期几获取一个月的特定日期

html - 文本未居中对齐