1

で働く私はdxChartを持っている:マウスのホバーに表示するためdxTooltipは、クローム

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

そしてdxTooltipを使用して:私は伝説矩形を取っている

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

そのうち。

  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:問題は、この行にあるよう

+1

あなたはどのようなIEのバージョンを使用していますか? – Sergey

+0

@Sergey IE10特に – xameeramir

+0

ブラウザのコンソールにエラーがありますか? – Sergey

答えて

1

が見えます。

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

そして、この行に1つの以上の補正:

var currElementTip = nextElementHTML + "tip"; 

nextElementHTMLは時々空白記号を含めることができますので、私はあなたがこのようなものを使用することをお勧め。だから、あなたはそれをサニタイズする必要があります

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

を更新したサンプルはここにある - http://jsfiddle.net/5y8f4zt0/