2017-06-29 2 views
0

Hier ist ein Beispiel für meinen Code. Ich kenne den Anfangswert, also wende ich mich an, um mich darauf zu konzentrieren. Wenn ich jedoch über eines der Elemente blicke, wird das Diagramm auf keine Elemente zurückgesetzt, die fokussiert werden. Ich dachte, ich könnte den Fokus wieder mit einem onmouseout anwenden, aber es funktioniert nicht wegen des Umfangs.Halten Sie das Element nach onmouseout fokussiert

var selectedItem = "Banana"; 

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['Apple', 33.3], 
      ['Banana', 33.3], 
      ['Canada', 33.3], 
     ], 
     type : 'donut', 
     selection: { 
      enabled: true, 
      multiple: false 
     }, 
     onclick: function (d, i) { selectItem(d, i); }, 
     onmouseout: function (d, i) { resetItems(); } 
    }, 
    donut: { 
     title: "Select an Item", 
    } 
}).focus(selectedItem); 

function selectItem(d, i) { 
    selectedItem = d.id; 
} 

function resetItems() { 
    chart.focus(selectedItem) 
} 

Weiß jemand, was ich hier vermisse?

Danke!

Antwort

1

, dass wegen der verketteten .focus ist() Methode - es kehrt undefiniert, so variabel Diagramm wird zu undefiniert.

Rufen Sie den anfänglichen Fokus bei der separaten Anweisung nach der Chartinitialisierung auf.

chart.focus(selectedItem); 

Siehe jsfiddle.

+0

Ugh, so albern. Danke für den Fang. – the4tress

Verwandte Themen