我正在使用Jquery Flot图表库,我能够创建时间线图,但我有IE 8的问题。
基本上,悬停事件仅适用于某些点。 使用Google Chrome我不会遇到这个问题。
这里是工具提示部分:
var previousPoint = null, previousLabel = null;
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
$.fn.UseTooltip = function () {
$(this).bind("plothover", function (event, pos, item) {
if (item) {
if ((previousLabel != item.series.label) || (previousPoint != item.dataIndex)) {
previousPoint = item.dataIndex;
previousLabel = item.series.label;
$("#tooltip").remove();
var x = item.datapoint[0];
var y = item.datapoint[1];
var color = item.series.color;
// var month = new Date(x).getMonth();
showTooltip(item.pageX,
item.pageY,
color,
"<strong>" + y + "</strong>");
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
};
function showTooltip(x, y, color, contents) {
$('<div id="tooltip">' + contents + '</div>').css({
position: 'absolute',
display: 'none',
top: y - 40,
left: x - 120,
border: '2px solid ' + color,
padding: '3px',
'font-size': '9px',
'border-radius': '5px',
'background-color': '#fff',
'font-family': 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
opacity: 0.9
}).appendTo("body").fadeIn(200);
}
您能否帮我找到根本原因和可能的解决方案?
提前致谢!
答案 0 :(得分:0)
我有同样的问题,但我补充道:
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="js/excanvas.min.js"></script><![endif]-->
<script language="JavaScript" src="js/jquery.flot.js"></script>
<script language="JavaScript" src="js/jquery.flot.time.js"></script>
<script language="JavaScript" src="js/jquery.flot.orderBars.js"></script>
<script language="JavaScript" src="js/jquery.flot.axislabels.js"></script>
答案 1 :(得分:0)
这听起来像是同一个问题:
https://github.com/flot/flot/issues/1053
以下是需要应用于主jquery.flot.js文件的解决方法(虽然它没有针对最新版本,但它应该指向正确的版本)
在绑定事件方法中(行 1291)添加
$(&#34; .flot碱基&#34)鼠标移动(的OnMouseMove);
在线关机方法 1314添加
$(&#34; .flot-base&#34;)。unbind(&#34; mousemove&#34;,onMouseMove);