【问题标题】:dxTooltip not working in IE, working in ChromedxTooltip 在 IE 中不工作,在 Chrome 中工作
【发布时间】:2016-11-19 08:25:28
【问题描述】:

我有一个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 中却不行。

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

【问题讨论】:

  • 你用的是什么IE版本?
  • @Sergey IE10 特别是
  • 浏览器控制台有错误吗?

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


【解决方案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/

【讨论】:

    猜你喜欢
    • 2020-01-23
    • 2023-03-05
    • 2015-02-12
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多