Pertanyaan Di bagan tinggi cara menambahkan acara untuk klik label


Di grafik tinggi ada acara untuk mengklik bar. Tapi bar kecil tingginya tidak mungkin untuk mengkliknya. Maka saya ingin acara dalam grafik tinggi untuk diproses lebih lanjut.

Misalnya. Saya ingin acara untuk nama bulan dalam contoh berikut. enter image description here

Terima kasih sebelumnya.


5
2018-02-06 07:01


asal


Jawaban:


Jika Anda tidak ingin menggunakan JQuery, Anda dapat menggunakannya sebagai berikut

chart.xAxis[0].labelGroup.element.childNodes.forEach(function(label)
{
    label.style.cursor = "pointer";
    label.onclick = function(){
      alert('You clicked on '+this.textContent);
    }
});

kode lengkap di http://jsfiddle.net/t07ok5v3/5/


3
2018-02-06 07:44



Saya mendapatkan Kesalahan: Objek tidak mendukung properti atau metode 'forEach' saat menjalankan solusi dari Malay Sarkar di Internet Explorer. Berikut adalah solusi yang saya gunakan yang berfungsi baik di Chrome dan IE.

for (let i = 0; chart.xAxis[0].labelGroup.element.childNodes.length; i++)
{
    chart.xAxis[0].labelGroup.element.childNodes[i].onclick = function(){
      alert('You clicked on '+this.textContent);
    }
});

0
2018-02-05 03:23



Solusi alternatif, dipelihara sejak Highcharts v3 digunakan Peristiwa Khusus plugin. Plugin menambahkan banyak acara baru, yang aslinya tidak didukung oleh Highcharts.

Demo: https://jsfiddle.net/BlackLabel/Utx8g/963/

Acara ditambahkan dengan cara yang sama seperti acara resmi di Highcharts, dan kita tidak perlu memeriksa ulang setiap rilis DOM:

xAxis: {
  labels: {
    events: {
      click: function () { ... }
    }
  }
}

0
2018-02-06 11:48