dxTooltip无法在IE中工作,在Chrome中工作

时间:2016-07-16 04:35:16

标签: javascript jquery google-chrome internet-explorer devextreme

我有一个dxChart

            var chart = $("#chartContainer4").dxChart();

我正在使用图例矩形:

            var PayerLegendBoxes = $("#chartContainer4 .dxc-legend g rect");

使用dxTooltip在鼠标悬停时显示。

            PayerLegendBoxes.each(function () {



                var nextElementHTML = this.nextSibling.innerHTML;

                var currElementTip = nextElementHTML + "tip";

                var currElement = this;



                var title = chart.append("<span style='display:none;' id=" + currElementTip + ">" + nextElementHTML + "</span>");



                var tooltipSimple = $("#" + currElementTip).dxTooltip({

                    target: currElement,

                }).dxTooltip("instance");



                $(currElement).unbind().hover(function () {

                    tooltipSimple.toggle()

                });



            });

这在Chrome中运行良好,但在IE中却没有。

是否存在跨浏览器功能的错误?

1 个答案:

答案 0 :(得分:1)

看起来问题出在这一行:

var nextElementHTML = this.nextSibling.innerHTML;

nextSibling.innerHTML在IE中返回undefined。所以,我建议你使用这样的东西:

// jQuery provides a "cross-browser" way here
var nextElementHTML = $(this).next().text();

还有一条针对这条线的修正:

var currElementTip = nextElementHTML + "tip";

nextElementHTML有时可以包含空格符号。所以,你应该消毒它:

var currElementTip = (nextElementHTML + "tip").replace(/\s/g, "_");

更新的示例在此处 - http://jsfiddle.net/5y8f4zt0/