Highcharts: HTML DataLabels dan menyegarkan tanpa pengecualian javascript sebab apa pun

Dibuat pada 27 Feb 2017  ·  3Komentar  ·  Sumber: highcharts/highcharts

Saya lagi dengan masalah lain yang tidak jelas.

Saya menggunakan dataLabels HTML bersyarat untuk menampilkan gambar tergantung pada nilai suatu titik.

Terkadang, ketika saya berpindah dari bagan dengan dataLabels yang ada ke bagan tanpa apa pun, saya mendapatkan pengecualian javascript:

TypeError: Tidak dapat mengatur properti 'onmouseover' dari undefined

Ini hanya terjadi pada kondisi berikut:

  • DataLabel diatur untuk menggunakanHTML: true
  • Kami memiliki bagan yang dirender dengan setidaknya satu dataLabels yang ada diikuti dengan panggilan "setData()" yang mengubah nilai sehingga tidak ada dataLabels.
  • Kami memanggil .update() pada properti seri (bahkan jika properti yang akan digabungkan kosong).

Perilaku yang diharapkan

Tidak ada kesalahan

Perilaku sebenarnya

Pengecualian dilemparkan

Demo langsung dengan langkah-langkah untuk mereproduksi

http://jsfiddle.net/gts29eq7/1/

Klik tombol.

Browser yang terpengaruh

Semua

Solusi

Saya tahu saya dapat mengembalikan string kosong alih-alih nol di dataLabels, tetapi ini menyebabkan pelambatan besar-besaran dengan banyak poin.
Saya juga dapat menonaktifkan useHTML, tetapi kemudian saya tidak dapat menampilkan gambar.

Sebagai catatan tambahan, template masalah baru github Anda memiliki kesalahan ketik dalam "perilaku" (perilaku)

Bug

Komentar yang paling membantu

@Dunge Terima kasih telah melaporkan, kami akan memperbaikinya sesegera mungkin.

_Internal Note: Gagal pada Html.js L320 karena ada series.dataLabelGroup tetapi tidak ada elemen div_

Semua 3 komentar

@Dunge Terima kasih telah melaporkan, kami akan memperbaikinya sesegera mungkin.

_Internal Note: Gagal pada Html.js L320 karena ada series.dataLabelGroup tetapi tidak ada elemen div_

@jon-a-nygaard Adakah pembaruan untuk perbaikan ini? Terima kasih!

Akar penyebabnya adalah bahwa grup SVG memiliki mitra HTML, dan sementara mitra HTML dihapus, fungsi on SVGWrapper yang diganti tidak. Hal yang sama secara teoritis terjadi dengan translateXSetter dan translateYSetter . Saya akan memperbaikinya hanya dengan memeriksa parents[0].div , tetapi perbaikan lengkap mengharuskan kami mengembalikan fungsi asli saat menghapus div di SvgRenderer.js .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat