这与我最近发布的一个问题有关,因此很抱歉再次提出要求,但是我无法直言不讳。我真的很想了解并了解它,因为我只是在学习javascript / html。
我正在使用SVGInject将svg加载到我的html中,然后当我将它们悬停在svg元素上时,使用Tippy.js来获取有关我的svg元素的工具提示。
使用window.onload可以有时,但并非总是如此。错误是:
Uncaught TypeError: Cannot read property 'addEventListener' of null
重新加载页面导致错误消失并再次出现。
我将一个alert()放入onload只是为了查看发生了什么,有了警报,错误消失了,一切正常。我很困惑。
window.onload = function (){
//alert("test"); //why does this alert make everything work??
/* SVG HIGHLIGHTS */
svg_highlight('ebk_abp','abk_ab');
svg_highlight('ebk_pbp','pbk_ab');
/* SVG TOOLTIPS */
svg_tooltip('ebk', "Eröffnungsbilanzkonto");
};
[我意识到这与未按正确顺序加载内容有关,我根本不了解如何解决此问题以及为什么alert()修复了所有问题。
我不确定它是否允许发布此内容,但这是我的完整项目,因此您可以自己查看:
https://github.com/rackuzi/DieAbbildung | https://rackuzi.github.io/DieAbbildung/
svg元素尚不存在,因此您需要确保通过使用回调以正确的顺序执行代码。
您需要在svg注入的afterLoad
属性中添加代码以添加工具提示。请参阅此页面上afterLoad
的文档。 https://github.com/iconfu/svg-inject