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

无锡网络公司无锡网站设计零基础学什么技术好

无锡网络公司无锡网站设计,零基础学什么技术好,网站做的支付宝接口吗,搬瓦工建wordpress1.背景: 最近接到一个需求,在一个类似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.ds6.com.cn/news/78022.html

相关文章:

  • 建站网站图片不显示写软文一篇多少钱合适
  • 个人帮忙做网站吗seo搜索引擎优化教程
  • seo能干一辈子吗站外seo是什么
  • 自己做服务器的网站企业网站的优化建议
  • 网站开发大揭秘淄博百度推广
  • php动态网站开发师工资线上营销公司
  • 企业经营管理系统seo网站推广是什么意思
  • 淘宝客网站是怎么做的百度推广优化排名
  • app网站开发哪家专业怎么做公司网页
  • 商品小程序怎么制作西安seo顾问
  • 网站开发设计协议滕州seo
  • wordpress做单页销售网站搜索引擎优化好做吗
  • 做淘宝客网站服务器昆明seo关键词排名
  • 做网站前期框架图怎样宣传网站
  • python做网站吗百度搜索引擎优化的方法
  • 网站建设信息发布系统价格百度推广在线客服
  • 大淘客网站上的推广怎么做北京百度竞价
  • 网站开发网页前置开发制作网站代码
  • 快照打开是赌博网站软件开发外包平台
  • 企业网站能起到什么作用恶意点击软件哪个好
  • 任丘网站制作公司高端企业网站定制公司
  • 体育直播网站开发数据源获取推广品牌的方法
  • java 做直播网站长沙网站开发制作
  • 无锡网站推广¥做下拉去118cr谷歌首页
  • 怎样做教育视频网站深圳网络营销推广外包
  • 网站建设都分几个阶段互联网广告公司
  • .ai域名注册网站网站优化公司收费
  • 网页设计大专工资一般多少seo外包服务
  • 欧美做视频网站百度关键词推广怎么做
  • 广州一起做网站seo确定关键词