javascript - 在绑定(bind)之前等待 Font Awesome JS 将 i 转换为 svg

标签 javascript svg font-awesome font-awesome-5

在绑定(bind)到由 Font Awesome JS 生成的 Font Awesome 元素时,我遇到了一些问题 <i><svg> .

我正在尝试使用 tooltipster将自定义 HTML 元素附加到 <i>像这样在我的 Laravel 5 应用程序中标记

Blade

<i class="fa fa-ellipsis-h doc-settings room-image-settings-tooltip" data-tooltip-content="#room_image_settings_{{$key}}" aria-hidden="true"></i>

JS

//Tooltip enable
$('.room-image-settings-tooltip').tooltipster({
    theme: 'tooltipster-punk',
    trigger: 'click',
    animation: 'grow',
    minWidth: 300,
    interactive:true,
    animationDuration:200
});

这导致 Font Awesome 创建这样的 SVG

enter image description here

如您所见,效果很好。它接管了所有属性。问题是,如果没有 font awesome 5,当它保持为 <i> 时它可以很好地绑定(bind)。元素,但在转换为 <svg> 时,即使上面的工具提示 js 位于文档就绪标签内,工具提示代码也必须在控制台中重新运行才能使其工作并绑定(bind)到 <svg>。 .

我的 JS 正在按此顺序加载

app.js

require('@fortawesome/fontawesome-pro/js/all');

$(document).ready(function(){
   //Tooltip enable
   $('.room-image-settings-tooltip').tooltipster({
       theme: 'tooltipster-punk',
       trigger: 'click',
       animation: 'grow',
       minWidth: 300,
       interactive:true,
       animationDuration:200
   });
});

那么 Font Awesome 应该在工具提示代码之前运行并且应该正确绑定(bind)到新的 SVG 元素?

我是不是理解错了?在深处的某个地方是 <i><svg>代码在文档就绪标签中运行,并在我自己的 app.js 文件之后运行?

我如何监听 SVG 何时完成转换并运行 JS?

最佳答案

Font awesome 有专门的监听器。在联系了 font awesome 5 的支持后,他们指示我查看文档以收听已完成的 <i><svg>转换。

function iconDoneRendering () {
    console.log('Icons have rendered')
}

dom.i2svg({ callback: iconsDoneRendering })

从 5.7.0 版本开始,该方法还支持 Promise API:

dom.i2svg()
  .then(function () {
    console.log('Icons have rendered')
  })

Source

关于javascript - 在绑定(bind)之前等待 Font Awesome JS 将 i 转换为 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51723601/

相关文章:

javascript - 将图像数组访问到动态表中

javascript - SVG、jQuery 和 Internet Explorer

javascript - d3 v4 : How to make a path being curved when only start and end point are known?

asp.net-mvc - ASP.NET MVC 未正确加载 FontAwesome(模糊)

javascript - 使按钮在单击时切换图像

负责返回和更新数据的 JavaScript 函数

reactjs - 如何在 Office UI Fabric React 图标按钮组件中使用 Font Awesome 图标?

javascript - Twitter Bootstrap : How do I align section in navbar to right?

javascript -/.?e.?/匹配整个字符串,而不是预期的子字符串

CSS 转换导致 SVG 在 Firefox 中摆动