2017-02-03 2 views
2

Hier ist meine DiagrammerstellungWie ändere ich den Cursor in einen Zeiger, wenn ich den Mauszeiger über einen Balken in einem ChartJS Balkendiagramm halte?

createChart = function (name, contributions, idArray) { 
    globalIdArray = idArray; 
    var ctx = document.getElementById("myChart"); 
    var myChart = new Chart(ctx, { 
     type: "bar", 
     data: { 
      labels: name, 
      datasets: [{ 
       label: "Contributions", 
       data: contributions, 
       backgroundColor: [ 
        'rgba(0, 255, 0, 0.2)', 
        'rgba(0, 255, 0, 0.2)', 
        'rgba(0, 255, 0, 0.2)', 
        'rgba(0, 255, 0, 0.2)', 
        'rgba(0, 255, 0, 0.2)' 
       ] 
      }] 
     }, 
     options: { 
      scales: { 
       yAxes: [{ 
        ticks: { 
         beginAtZero: true 
        } 
       }] 
      }, 
      onClick: handleClick, 
      onHover: handleHover 
     } 
    }); 

Dies ist der HTML ist, alles JavaScript ist und befindet sich im Inneren des Canvas-Element.

<canvas chart-hover="onHover" id="myChart" width="200" height="200"></canvas> 

Ich habe es so, wenn ich auf einem Balken klicken sie als handeln „drill in“ und mit mehr Details meint eine Seite nehmen. Zu tun, dass ich diesen Code verwendet:

function handleClick(e) { 
      debugger; 
      var activeElement = myChart.getElementAtEvent(e); 
      var designerId = _idArray[activeElement[0]._index]; 
      window.location.href = "/Display/search/index?designerId=" + designerId; 
     } 

Ich mag es so, mein Cursor in einen Zeiger um den Benutzer zu informieren, sie können die Leiste klicken (wie es normalerweise mit einem Link ändern würde). Ich habe einige Beispiele dafür auf Stack Overflow gesehen, aber sie waren von den letzten ein oder zwei Jahren, die Beiträge enthielten Kommentare, in denen nach einer aktualisierten Version gefragt wurde, aber keine Lösungen.

Hier ist ein weiterer Beitrag, den ich gesehen habe, von dem ich glaube, dass es dasselbe ist, was ich erreichen möchte, aber es hat nicht für mich funktioniert.

How to change cursor style to pointer on hovering over points of the chart?

Hat von jemandem wissen, wie ich das umsetzen kann, die aktuellste Live-Version von ChartJS mit?

Antwort

0

Es gibt eine Cursor-Eigenschaft in CSS, die Sie festlegen können. zum Beispiel:

span.crosshair { 
    cursor: crosshair; 
} 

span.help { 
    cursor: help; 
} 

span.wait { 
    cursor: wait; 
} 

Bitte beachten Sie this Link für weitere Informationen Hoffe, es hilft!

  • Nic
+0

Da das gesamte Diagramm innerhalb eines Element ist, würde das nicht den Cursor, egal wo auf der sie es haben Graph ändern? Ich bin daran interessiert, dass es sich nur ändert, wenn sie über einer Bar schweben. –

+0

Vielleicht können Sie eine benutzerdefinierte Klasse in den Parametern festlegen, wenn nicht, überprüfen Sie das Element und überprüfen Sie, ob es eine Klasse auf der Leiste ist, können Sie den Cursor in Ihrem benutzerdefinierten css setzen – Nicolas

+0

Ich habe versucht, die Bar zu untersuchen, und es dauert mich nur das Leinwandelement Hier ist dieser andere Beitrag, den ich verweise: http://stackoverflow.com/questions/41014278/how-to-change-cursor-style-to-pointer-on-hovering-over-points-of-the-chart Ist das reguläre Javascript oder verwendet er eckig? Ich frage wegen der $ scope.onHover –

Verwandte Themen