微信小程序如何实现纯文本@功能识别长尾词疑问?

2026-04-03 09:190阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2662个文字,预计阅读时间需要11分钟。

微信小程序如何实现纯文本@功能识别长尾词疑问?

前语+家庭赋能对@功能不陌生,在如今的各大社交软件中,它是一种不可或缺的功能。实现@人的功能并不复杂,只需将@人员员的ID传递给后端,后端开发通知即可。主要复杂点在于一键删除@。

前言

大家肯定对@功能不陌生,在如今的各大社交软件中它是一种不可或缺的功能。实现@人的功能并不复杂,只需将@人员的id传给后端,后端下发通知即可。主要的复杂点在于一键删除功能与变色功能,web端可以使用现成库 caret.js 或者 At.js 来实现。但笔者需要在小程序中实现这个功能,而且在 textarea 标签里实现,当然@人名的变色功能自然而然就砍掉了。

准备工作

怎么来实现一键删除呢?首先想到对@人名前后用特殊符号标记+正则来实现,但结果不是很理想,扩展性也比较差,如果还要匹配话题之类的就得多写一套代码,所以就试着找其他方法解决。发现 wx.getSelectedTextRange 可以获取文本框聚焦时的光标,这样就可以将@人员插入文本指定位置。文本框事件 @input 的可以获取到变化的数据与位置,那就可以根据变化的位置与变化的数据来判断是否命中@人员,@人员的位置可以通过计算获取。

阅读全文

本文共计2662个文字,预计阅读时间需要11分钟。

微信小程序如何实现纯文本@功能识别长尾词疑问?

前语+家庭赋能对@功能不陌生,在如今的各大社交软件中,它是一种不可或缺的功能。实现@人的功能并不复杂,只需将@人员员的ID传递给后端,后端开发通知即可。主要复杂点在于一键删除@。

前言

大家肯定对@功能不陌生,在如今的各大社交软件中它是一种不可或缺的功能。实现@人的功能并不复杂,只需将@人员的id传给后端,后端下发通知即可。主要的复杂点在于一键删除功能与变色功能,web端可以使用现成库 caret.js 或者 At.js 来实现。但笔者需要在小程序中实现这个功能,而且在 textarea 标签里实现,当然@人名的变色功能自然而然就砍掉了。

准备工作

怎么来实现一键删除呢?首先想到对@人名前后用特殊符号标记+正则来实现,但结果不是很理想,扩展性也比较差,如果还要匹配话题之类的就得多写一套代码,所以就试着找其他方法解决。发现 wx.getSelectedTextRange 可以获取文本框聚焦时的光标,这样就可以将@人员插入文本指定位置。文本框事件 @input 的可以获取到变化的数据与位置,那就可以根据变化的位置与变化的数据来判断是否命中@人员,@人员的位置可以通过计算获取。

阅读全文