悬停时IE 8中的脚本错误

时间:2013-11-20 20:08:36

标签: javascript jquery hover

我遇到的问题只发生在IE 8及更早版本中。我没有在任何其他浏览器中遇到任何问题。

我正在使用maphighlight插件来激活地图的某些区域。当从下面的列表中选择地图区域或区域名称时,会发生这种情况。当在地图区域上下移动时,侧边栏应该出现并消失。当悬停时,一切似乎都正常工作,但是当我徘徊时,我收到脚本错误消息。 Unknown runtime error, Line: 162 Char: 4中的jquery.maphilight.js。地图空间永久保持亮起,直到之后刷新页面。

我非常感谢任何建议,因为我即将结束我在该主题方面的专业知识。

My Site

地图:

$(function() {
    $('.map').maphilight();

        $('#np1-link').mouseover(function(e) {
            $('#np1').mouseover();
        }).mouseout(function(e) {
            $('#np1').mouseout();
        }).click(function(e) { e.preventDefault(); });
    });     

将鼠标悬停:

function hovIn() {
    var areaID = $(this).attr('id');
    if (areaID == 'np1') {
        $('#sidebar_newpavilion').show();
    }

悬停:

function hovOut() {
    $('#sidebar_newpavilion').hide();
}

$('map area').hover(hovIn, hovOut);

更新

当应该清除画布时,这就是说运行时错误发生的地方。有什么理由不适用于IE8?

        clear_canvas = function(canvas) {
        // jquery1.8 + ie7 
        var $html = $("<div>" + canvas.innerHTML + "</div>");
        $html.children('[name=highlighted]').remove();
        canvas.innerHTML = $html.html();
    };
}

1 个答案:

答案 0 :(得分:0)

我有同样的问题。

以下是将双引号转换为单引号的简单解决方案。

    clear_canvas = function(canvas) {
        // jquery1.8 + ie7 
        var $html = $("<div>" + canvas.innerHTML + "</div>");
        $html.children('[name=highlighted]').remove();
        canvas.innerHTML = $html.html().replace("\"","'");
    };