我遇到的问题只发生在IE 8及更早版本中。我没有在任何其他浏览器中遇到任何问题。
我正在使用maphighlight插件来激活地图的某些区域。当从下面的列表中选择地图区域或区域名称时,会发生这种情况。当在地图区域上下移动时,侧边栏应该出现并消失。当悬停时,一切似乎都正常工作,但是当我徘徊时,我收到脚本错误消息。 Unknown runtime error, Line: 162 Char: 4
中的jquery.maphilight.js
。地图空间永久保持亮起,直到之后刷新页面。
我非常感谢任何建议,因为我即将结束我在该主题方面的专业知识。
地图:
$(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();
};
}
答案 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("\"","'");
};