IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 前端实现批注功能(react版本)链接为jquery版本 -> 正文阅读

[JavaScript知识库]前端实现批注功能(react版本)链接为jquery版本

主要核心js代码:

addPizhu = () => {

? ? ? ? const { selectText, inputContent, pizhuList }: any = this.state

? ? ? ? let newArr = pizhuList,

? ? ? ? ? ? addTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')

? ? ? ? ? ? newArr.push({

? ? ? ? ? ? userName: '管理员',

? ? ? ? ? ? selectContent: selectText,

? ? ? ? ? ? addTime: addTime,

? ? ? ? ? ? addContent: inputContent,

? ? ? ? })

? ? ? ? this.setState({ pizhuList: newArr })

? ? ? ? this.handleModalSelectCancel(addTime)

? ? }

? ? handleModalOk = () => {

? ? ? ? this.addPizhu()

? ? }

? ? handleModalCancel = () => {

? ? ? ? this.setState({ isModalOpen: false, inputContent: '' })

? ? }

? ? handleModalSelectCancel = (addTime) => {

? ? ? ? const { selRange,idIndex }:any = this.state

? ? ? ? let ms = new Date(addTime).getTime().toString()

? ? ? ? var el = document.createElement('span')

? ? ? ? el.className = 'selectTextBgColor'

? ? ? ? el.id = ms

? ? ? ? selRange.surroundContents(el)

? ? ? ? this.setState({ isModalOpen: false, inputContent: '',idIndex:ms })

? ? }

? ? openModal = (value) => {

? ? ? ? this.setState({ isModalOpen: true, selectText: value })

? ? }

? ? changeInputValue = (e) => {

? ? ? ? this.setState({ inputContent: e.target.value })

? ? }

? ? updatePizhu = (index) => {

? ? ? ? this.setState({ isEdit: true, editInputIndex: index })

? ? }

? ? saveAddValue = (e) => {

? ? ? ? const { isEdit, pizhuList, editInputIndex }: any = this.state

? ? ? ? let newArr = pizhuList

? ? ? ? newArr[editInputIndex].addContent = e.target.value

? ? ? ? this.setState({ isEdit: false, pizhuList: newArr })

? ? }

? ? changePositionById = (index,idName) => {

? ? ? ? this.setState({ currentIndex: index })

? ? ? ? let idms:string = new Date(idName).getTime().toString();

? ? ? ? document.getElementById(idms).scrollIntoView({behavior:'smooth'})

? ? }

参考文献:HTML 页面添加批注 - 冰封的心 - 博客园

网页添加批注与评论_七号大米的博客-CSDN博客_网页批注功能

Javascript中document.execCommand()的用法 - 暖爱 - 博客园

document.execCommand()的用法小记_JoLonn的博客-CSDN博客_execcommand用法

为鼠标选中文本添加样式、在鼠标位置插入节点_hilter的博客-CSDN博客

HTML DOM getRangeAt()用法及代码示例 - 纯净天空

Web前端实现锚点功能的三种方式 - lonelydawn的个人空间 - OSCHINA - 中文开源技术交流社区

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:06:34  更:2022-10-22 21:10:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:03:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码