我已经在这2天里苦苦挣扎,已经阅读(并尝试过)更多' hacks'我无法想象,我所做的一切似乎都无法发挥作用。
我有一张美国的SVG地图,有一些用于mouseenter和mouseleave的jQuery事件在IE 11(我假设9& 10)忽略的其他浏览器中运行良好。
当进入州的边界时,填充应该改变(在FF中尝试)并且应该显示工具提示(并按照鼠标)。他们再次在其他浏览器中工作正常,但IE只是忽略它们。我尝试了一个mouseover事件只是为了看它是否有用而且确实如此。 IE也正确地处理了点击功能,但这两个只是炸弹。
您可以在http://amgoa.org/State-Gun-Laws看到http://amgoa.org/scripts/reciprocity.js页面{{3}}
这是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');
}
});
任何帮助都会得到真正的赞赏,因为这会使用类似的地图在这个网站上占据一个更大的项目,这个页面上的失败不是世界末日,而是另一个是关键任务它有效。
答案 0 :(得分:2)
发现问题,这是我使用的jQuery版本中的一个错误。更新了版本,问题就消失了