1
工作

我有一个dxChartdxTooltip不工作在IE,Chrome浏览器

  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

你用什么版本的IE? – Sergey

+0

@Sergey IE10专用 – xameeramir

+0

您在浏览器控制台中是否有任何错误? – Sergey

回答

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/

相关问题