JS单击/双击编辑功能

HTML

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/bootstrap.min.css"/><script src="/static/js/jquery-1.12.4.min.js"></script><script src="/static/js/bootstrap.min.js"></script><title>Title</title>
</head>
<body><span ondblclick="doubleClickChange(this)">双击修改</span><span></span>
</body>
</html>

JS

// 双击可编辑功能
function doubleClickChange(element) {// 获取原值 同时去除空格回车let old_val = element.innerHTML.trim().replace(/\s/g,"");// 创建新的input元素 此处也可以是textarealet new_val = document.createElement('input');// 为新增元素添加类型new_val.type = 'text';new_val.style = 'width:120px';// 为新增元素添加value值new_val.value = old_val;// 为新增元素添加光标离开事件new_val.onblur = function() {// 当触发时判断新增元素值是否为空,为空则不修改,并返回原有值this.value = this.value.trim().replace(/\s/g,"");// 相等 说明没改if (this.value === old_val) {element.innerHTML = old_val;// 当触发时设置父节点的双击事件为ShowElementelement.setAttribute("ondblclick", "ShowElement(this);");}// 不等 说明改了else {element.innerHTML = this.value;// 当触发时设置父节点的双击事件为ShowElementelement.setAttribute("ondblclick", "ShowElement(this);");// 保存到数据库xxfunction();}}// 设置该标签的子节点为空element.innerHTML = '';// 添加该标签的子节点,input对象element.appendChild(new_val);// 设置获得光标new_val.focus();//设置父节点的双击事件为空new_val.parentNode.setAttribute("ondblclick", "");
}

单击修改将行间事件ondblclick替换成onclick即可。

JS单击/双击编辑功能相关推荐

  1. html双击变成可编辑状态,JS实现双击编辑可修改状态的方法

    本文实例讲述了JS实现双击编辑可修改状态的方法.分享给大家供大家参考.具体如下: 这是现在流行的一个表单特效,在网页上单击某文字,文字变为编辑状态,或者是让输入新文字,这就是JavaScript控制表 ...

  2. STM32独立按键实现单击双击长按功能

    目录 前言 一.按键功能定义 二.使用步骤 1.按键初始化 2.按键扫描函数(重点) 总结 前言 在使用STM32或其他单片机开发项目时,经常需要用到独立按键进行控制. 通常一个独立按键需要使用一个I ...

  3. 多功能按键设计——利用一个I/O口,接一个按键,实现3功能操作:单击 + 双击 + 长按

    看了一个晚上,结合了马潮老师的书,才搞懂这个程序,确实经典!原文: 题目:多功能按键设计.利用一个I/O口,接一个按键,实现3功能操作:单击 + 双击 + 长按. (amobbs.com 阿莫电子论坛 ...

  4. js单击、双击、连续多次点击

    文章目录 单击 双击 单击双击同时存在 连续多次点击 单击 原生javascript为我们提供了单击和双击(click 和 dblclick)两种点击事件的监听 var oBtn = document ...

  5. JS中解决单击双击事件的冲突

    当一个元素上即绑定了单击事件又绑定了双击事件,双击元素时会先触发单击事件,没有达到我们理想的效果从而影响了用户体验. 解决方法: // 解决同一个元素使用单击双击事件的冲突 // 解决思路:单击事件后 ...

  6. flex中dataGrid的编辑功能

    在flex的dataGrid中,很多情况下列是需要嵌入其他的控制的,比如:checkbox,combox等,此时需要利用dataGrid的如下功能: 1.datagrid编辑功能简介     当我们点 ...

  7. Flex控件_datagrid_编辑功能

    1.datagrid编辑功能简介     当我们点击datagrid中的一个单元格进行编辑时,可结合使用一些组件,RadioButtonGroup.checkbox.ComboBox等     dat ...

  8. flex中dataGrid的编辑功能 精华

    from:http://blog.csdn.net/wuyan520/article/details/5469794 也是转载,源头未知. 在flex的dataGrid中,很多情况下列是需要嵌入其他的 ...

  9. 基于svg.js实现可编辑的图像(1)

    一.关于svg.js 首先是svg.js的git地址https://github.com/svgdotjs/svg.js svg.js主要用于在页面绘制svg图像,关于svg图像可以参见w3schoo ...

最新文章

  1. Tomcat设置虚拟目录的方法, 不修改server.xm
  2. 任务和特权级保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记27
  3. 加号和减号在一起怎么读_孩子粗心大意怎么治?告诉你背后的原因和好用的方法.........
  4. Python守护进程和脚本单例运行
  5. 前端学习(1161):箭头函数02
  6. 数据结构知识点大汇总(二)
  7. 更改hadoop集群yarn的webui中的开始时间和结束时间为本地时间
  8. javaSE回顾---变量
  9. [转]vc6如何设置Unicode字符集
  10. Windows bat命令解压缩文件360zip
  11. 精美商业计划书PPT模版大合集(共107份,900M)
  12. 经纬度及其与坐标系的转换
  13. 5G NR SSB 学习
  14. vue-element-admin安装依赖失败问题
  15. 《X3D: Expanding Architectures for Efficient Video Recognition》论文详解
  16. java美颜算法_美颜算法之自动祛斑算法实现 | 案例分享
  17. python爬虫天猫商品数据及分析(2)
  18. IP 地址与整数之间的互相转换详解
  19. “有源传感器”和“无源传感器”
  20. FS5258系列LED升压恒流芯片6.5V~24V

热门文章

  1. Oracle数据库中分区表的操作方法
  2. python标准库模块路径_Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单...
  3. python爬虫美剧下载
  4. android触摸震动原理
  5. 如果你看不懂KMP算法,一定要看看这个视频!!!!!!!!!!!虽然讲的慢,但是很详细!!!!
  6. CMT2300A-FPGA控制程序
  7. oracle v diag info,V$DIAG_INFO及V$DIAG_CRITICAL_ERROR视图
  8. 用HTML+CSS做一个漂亮简单的旅游网站——旅游网页设计与实现(6页)HTML+CSS+JavaScript
  9. 史上最全的nexus私服搭建全流程
  10. creo视图管理器使用方法_Creo Parametric 4.0 界面基础介绍