Highcharts: HTML DataLabels والتحديث دون أي سبب استثناء جافا سكريبت

تم إنشاؤها على ٢٧ فبراير ٢٠١٧  ·  3تعليقات  ·  مصدر: highcharts/highcharts

أنا مرة أخرى مع قضية أخرى غامضة.

أستخدم تسميات بيانات HTML المشروطة لعرض صورة بناءً على قيمة النقطة.

في بعض الأحيان ، عندما أنتقل من مخطط به تصنيفات بيانات إلى مخطط بدون أي استثناء ، أحصل على استثناء جافا سكريبت:

TypeError: لا يمكن تعيين الخاصية "onmouseover" من undefined

يحدث هذا فقط في الحالات التالية:

  • تم ضبط DataLabel على useHTML: true
  • كان لدينا مخطط تم تقديمه مع وجود DataLabels واحد على الأقل متبوعًا باستدعاء "setData ()" لتغيير القيم بحيث لا توجد بيانات dataLabels.
  • نقوم باستدعاء .update () في خصائص السلسلة (حتى لو كانت الخصائص المراد دمجها فارغة).

سلوك متوقع

لا خطأ

السلوك الفعلي

تم طرح استثناء

عرض حي مع خطوات لإعادة الإنتاج

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

انقر فوق الزر.

المستعرض (المستعرضات) المتأثرة

الجميع

الحل

أعلم أنه يمكنني إرجاع سلسلة فارغة بدلاً من فارغة في dataLabels ، لكن هذا يسبب تباطؤًا هائلاً مع العديد من النقاط.
يمكنني أيضًا تعطيل useHTML ، لكن لا يمكنني عرض الصور بعد ذلك.

كملاحظة جانبية ، يحتوي نموذج مشكلة github الجديد على خطأ إملائي في "السلوك" (السلوك)

Bug

التعليق الأكثر فائدة

Dunge شكرًا على الإبلاغ ، سنصلح هذا في أقرب وقت ممكن.

_ ملاحظة داخلية: فشل في Html.js L320 نظرًا لوجود عنصر series.dataLabelGroup ولكن لا يوجد عنصر div_

ال 3 كومينتر

Dunge شكرًا على الإبلاغ ، سنصلح هذا في أقرب وقت ممكن.

_ ملاحظة داخلية: فشل في Html.js L320 نظرًا لوجود عنصر series.dataLabelGroup ولكن لا يوجد عنصر div_

@ jon-a-nygaard أي تحديثات حول إصلاح لهذا؟ شكرا!

السبب الأساسي هو أن مجموعة SVG لها نظير HTML ، وبينما يتم حذف نظير HTML ، فإن وظيفة SVGWrapper التي تم تجاوزها on ليست كذلك. نفس الشيء يحدث نظريًا مع translateXSetter و translateYSetter . سأصلح هذا ببساطة عن طريق التحقق من parents[0].div ، لكن الإصلاح الكامل يتطلب استعادة الوظائف الأصلية عند حذف div في SvgRenderer.js .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات