Событие onHover не запускается в chart.js

Я хочу изменить курсор, когда мышь перемещается по графику, что-то вроде этой скрипки. Это работает с chart.js v2.4, но не работает с v2.6 и v2.7 есть идеи?

var ctx = document.getElementById("canvas1").getContext("2d");
 var mychart = new Chart(ctx, {
  type: 'doughnut',
  data: {
  labels: ['uno', 'dos', 'tres', 'cuatro'],
   datasets: [{
  data: [1, 2, 3, 4],
  backgroundColor: ["#BDC3C7","#9B59B6","#E74C3C","#26B99A"]
   }]
    },
    options: {
    hover: {
  onHover: function(e) {
    $("#canvas1").css("cursor", e[0] ? "pointer" : "default");

    /* without jquery it can be like this:
      var el = document.getElementById("canvas1");
      el.style.cursor = e[0] ? "pointer" : "default";
    */
  }
 }
 }
  });

person z f    schedule 29.11.2017    source источник


Ответы (1)


Начиная с v2.5 изменены параметры обратного вызова onHover. См. PR#3669.

Обратный вызов onHover теперь имеет 3 параметра. Второй параметр — это событие, вызвавшее наведение курсора. Это было сделано для согласованности с обратным вызовом onClick.

function(event, activeElements) {

}

Раньше activeEvents был первым аргументом, и событие не передавалось.

Вы можете ознакомиться с примечаниями к выпуску версии 2.5.

Итак, вы должны изменить свой onHover callback следующим образом:

  onHover: function(event,elements) {
    $("#canvas1").css("cursor", elements[0] ? "pointer" : "default");
  }

обновлен jsFiddle

person Prashant Pokhriyal    schedule 29.11.2017
comment
Есть ли какое-либо событие, которое удаляет событие onHover при удалении наведения. - person Prits; 28.05.2020