1

新的 FontAwesome 5 版本在使用他们的“带有 JS 的 SVG”时,使图标看起来非常干净。副作用是很难找到一种使用事件冒泡/委托来定位它的万无一失的方法。有时您会单击它并获取path节点,有时您将获取svg节点。

我试过使用他们在标签内嵌套的方式,svgi它不起作用。他们试图在这里解释它Auto-Replace-SVG-Nst但是......我没有取得任何进展。

所以我继续手动嵌套i替换为另一个i. <i><i class="far fa-comment-alt"></i></i>. 检查时event console.log(e.target.parentElement),有时我会得到正确的<i>,有时我会得到<svg>。这让我知道我还在打pathand <svg>

因为我无法准确定位正确的元素,所以我得到了一些极其不可预测的结果。此页面上的所有内容都是通过数据库中的 PHP 查询或数据库中的 AJAX 动态生成的。我是否应该为同一个事件编写两个不同的处理程序来解决这个问题?

我意识到我可以只使用Web Fonts with CSS版本,但与JS版本相比,图标看起来非常像素化,所以如果可能的话我宁愿使用JS版本。

笔记

对于这种情况,我必须使用事件冒泡,因为元素是在页面加载后生成的。

4

0 回答 0