当前位置: 首页 > news >正文

无锡网络公司无锡网站设计百度权重查询

无锡网络公司无锡网站设计,百度权重查询,wordpress 按分类显示图片,网站开发建设书籍推荐1.背景: 最近接到一个需求,在一个类似chatGpt的聊天工具中,要在对话框中设置模板,后端提供了很多模板参数,然后要求将后端返回的特殊字符转成按钮,编辑完成后在相应的位置拼接成字符串。 2.效果&#xff1a…

1.背景:

最近接到一个需求,在一个类似chatGpt的聊天工具中,要在对话框中设置模板,后端提供了很多模板参数,然后要求将后端返回的特殊字符转成按钮,编辑完成后在相应的位置拼接成字符串。


2.效果:

在点击发送后,页面上就是如此拼接后的字符串


当然,还进一步拓展了其功能,比如可以上传文件,解析出来后和其他字符拼接


3.实现

 要注意的是:你和后端约定好特殊字符的格式,比如我这里是的是:

text:"|`社工背景`| 根据信息介绍,请你写一封内容丰富的|`诱饵类型`|电子邮件"

 以下是完整的实现代码

// template 部分
<div id="text-container"> </div>// 功能部分,我封装成了三个函数,使用时updatePageWithText传入即可
function updatePageWithText(textData:any) {const regex = /(\|`[^`]+`\|)/g; // 匹配 |` 和 `| 之间的内容const newText = textData.replace(regex, function (match:any) {// 去除 |` 和 `|,同时为匹配文本创建一个可点击的 spanconst cleanMatch = match.replace(/\|`|`\|/g, '');return `<span class="green-text">${cleanMatch}</span>`;}).replace(/\+/g, ' '); // 把 `+` 替换为空格以正确显示文本const textContainer:any = document.getElementById('text-container');textContainer.innerHTML = newText;// 为所有绿色文本添加点击事件监听const greenTexts = textContainer.querySelectorAll('.green-text');greenTexts.forEach(function (greenText:any) {greenText.addEventListener('click', function () {convertToInput(this);});});
}function convertToInput(element:any) {const input = document.createElement('input');input.type = 'text';input.value = element.textContent;input.className = 'green-text'; // 保持输入框具有相同的类名,这样它的外观与span时相同// 添加失焦事件处理器以在输入结束时替换文本input.addEventListener('blur', function () {finishInput(element, this);});// 添加回车键事件处理器以在按下回车时替换文本input.addEventListener('keydown', function (event) {if (event.key === "Enter") {finishInput(element, this);}});element.replaceWith(input); // 替换 span 元素为输入框input.focus();
}function finishInput(spanElement:any, inputElement:any) {// 创建一个新的span元素来替换输入框const newSpan = document.createElement('span');newSpan.textContent = inputElement.value; // 使用输入框的值newSpan.className = 'green-text'; // 恢复原来的类名,以便保持外观和行为newSpan.addEventListener('click', function () {convertToInput(newSpan); // 添加点击事件,使得新的span也可以被点击并转换});inputElement.replaceWith(newSpan); // 替换输入框为新建的span元素
}

http://www.tj-hxxt.cn/news/88571.html

相关文章:

  • 信阳做网站 汉狮网络东莞百度推广排名
  • 专业建设购物网站如何制作网站二维码
  • 做网站买别人的服务器企业邮箱申请
  • 网站突然被降权怎么办广告营销顾问
  • wordpress教程书网页优化包括什么
  • 网站首页制作教程视频广东seo网站设计
  • 望牛墩仿做网站吸引人的微信软文
  • 营销型外贸网站制作武汉最新疫情
  • it外包公司为什么不能去网站seo公司
  • wordpress插件免费搜索引擎优化排名培训
  • c web网站开发权限网站流量
  • 加热器网站怎么做的网络营销seo培训
  • 网站开发方向长沙关键词优化公司电话
  • 重庆科技网站建设南宁百度seo推广
  • 沈阳犀牛云做网站怎么样天津关键词优化平台
  • 国内网站建设最好公司seo智能优化系统
  • 个人公司网站模板销售平台排名
  • 昭通昭阳区城乡建设管理局网站搜索app下载
  • 广州品牌营销策划公司排名温州seo公司
  • 建设网站费用多少钱seo网站搜索优化
  • 猪八戒里面做网站骗子很多昆明seo外包
  • 一个主机可以做几个网站域名吉林seo基础知识
  • 静态网站开发 内容某个网站seo分析实例
  • 邯郸网络运营中心电话多少seo网站编辑优化招聘
  • 做AI免费网站全国新增确诊病例
  • 网站域名使用怎么做待摊分录长尾关键词挖掘爱站工具
  • 创建站点如何做网站营销型网站设计制作
  • 手机网站的建设优化软件刷排名seo
  • 简单的网站建设宝鸡seo排名
  • 做机械设备内销网站有哪些百度怎么推广自己的信息