JqueryFlot问题IE8不一致

时间:2014-01-29 09:34:55

标签: jquery internet-explorer-8 flot jquery-hover

我正在使用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);
}

您能否帮我找到根本原因和可能的解决方案?

提前致谢!

2 个答案:

答案 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);