悬停时IE 8中的脚本错误

Script Errors in IE 8 on Hover

本文关键字:脚本错误 IE 悬停      更新时间:2023-09-26

我遇到了一个只在IE 8及更早版本中出现的问题。我在任何其他浏览器中都没有遇到任何问题。

我正在使用maphighlight插件来激活地图的某些区域。当从下面的列表中选择地图区域或区域名称时,就会发生这种情况。侧边栏应该在悬停在地图区域内外时出现和消失。当悬停在上面时,一切似乎都很好,但当我悬停在下面时,我会收到脚本错误消息。CCD_ 2中的CCD_。地图空间将一直保持亮起状态,直到随后刷新页面为止。

任何建议都将不胜感激,因为我在这个问题上的专业知识即将结束。

我的网站

地图:

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

我遇到了同样的问题。

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

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