使用JS和Event Bubbling定位FontAwesome图标的最佳方法是什么?

时间:2018-01-28 23:22:43

标签: javascript svg font-awesome event-bubbling font-awesome-5

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

我尝试在svg代码中使用i嵌套方式,但它无效。他们试图在这里解释Auto-Replace-SVG-Nst但是......我还没有取得任何进展。

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

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

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

备注

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

0 个答案:

没有答案