javascript - dxTooltip 无法在 IE 中工作,但在 Chrome 中工作

标签 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 中不行。

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

最佳答案

看起来问题出在这一行:

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 有时可以包含空格符号。因此,您应该对其进行 sanitizer :

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

更新后的示例在​​这里 - http://jsfiddle.net/5y8f4zt0/

关于javascript - dxTooltip 无法在 IE 中工作,但在 Chrome 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38407749/

相关文章:

css - 有什么方法可以使用 headless Chrome 录制网站视频吗?

javascript - 如何减慢 jquery click 函数的执行速度?

javascript - 如何在 9 :00 AM to 10:00 AM using Javascript? 之间运行代码

javascript - 如何使用上下文变量将信息传递给 JavaScript 中的 Promise 函数?

javascript - 在 ASP Net CORE MVC 元素中使用 Google Material UI

javascript - Api调用Ajax n秒GET请求

javascript - jquery flot 缩放选择不适用于图表

javascript - 分配给单击事件的 ID 在 backbone.js 中不起作用?

javascript - 如何使用 jQuery 将元素拆分为单独的 div

css - Chrome/Safari 忽略我的重置规则?