背景
- 技术栈:Taro
- 端:微信小程序
- 运营会在后台使用富文本编辑器配置活动详情。
一段富文本中,有若干a链接,将其渲染至小程序,需要在点击a链接的时候做一些操作,比如复制该链接,或者是在小程序中打开该链接。
难题
渲染富文本使用dangerouslySetInnerHTML
或者RichText
,最终都会变成taroelement,然后生成对应平台的元素。无法从这些元素中直接找出哪个是一个a链接,也就没办法绑定点击时间
解决
- 找到a链接对应的元素
- 绑定点击事件
观察渲染到页面的元素,可以发现链接渲染的元素,类名都是h5-a。那么我们可以通过类名定位到元素。然后在给这个元素绑定事件即可。
参考官方文档:
Taro官方文档-渲染HTML
transformElement
:该函数第一个参数的值为 Taro 默认处理好的 TaroText,第二个参数是 HTML
解析器解析好的 Text,最后返回的 TaroText 对象参与 HTML 中的字符串渲染。
TaroText
的结构是这样的