【问题标题】:JqueryFlot inconsistent issue IE8JqueryFlot IE8 不一致问题
【发布时间】:2014-01-29 09:34:55
【问题描述】:

我正在使用 Jquery Flot 图表库,我能够创建时间线图,但我在 IE 8 上遇到了问题。

基本上,悬停事件仅适用于某些点。 改用谷歌浏览器我不会遇到这个问题。

这里是工具提示部分:

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

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

提前致谢!

【问题讨论】:

  • 你使用的是哪个 jQuery 版本?
  • Flot 是哪个版本的?积分有什么特别之处吗?他们都在一个特定的系列吗?

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


【解决方案1】:

我有同样的问题,但我补充说:

<!--[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>

【讨论】:

【解决方案2】:

这听起来像是同一个问题:

https://github.com/flot/flot/issues/1053

以下是需要应用于 jquery.flot.js 主文件的解决方法(虽然它不是针对最新版本的,但它应该希望能指出你正确的方向)

在绑定事件方法中(行 第1291章)

$(".flot-base").mousemove(onMouseMove);

在关机方法上线 第1314章

$(".flot-base").unbind("mousemove", onMouseMove);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 2011-06-04
    • 2013-06-16
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多