【JS】纯JS实现div中的文字双击可编辑

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>JS edit</title></head><body><div>
</div>
<div onClick="edit(this)">nanjing</div>
<script>

var titleEditing = false
function edit(element) {
console.log(titleEditing)
if(titleEditing){
return
}
titleEditing = true
let old = element.innerHTML
element.innerHTML=""
var newObj=document.createElement("textarea")
newObj.className="textArea"
newObj.innerHTML=old
element.append(newObj)
newObj.focus()
newObj.onblur=function(){
element.innerHTML=this.value?this.value:old
titleEditing = false
}
}
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/tigerhsu/p/11509974.html

时间: 2024-10-30 14:41:55

【JS】纯JS实现div中的文字双击可编辑的相关文章

实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中

效果如下: 直接上代码了: 说明:轮播图基于swiper.js,自行下载.css在最后 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.

div中溢出文字用点代替的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh"> <head profil

如何让div中的文字只显示一行,多余的文字隐藏并加上省略号(超链接形式)

写页面的时候遇到了一个小小的问题,如何让div中一行超链接文字只显示一行,多余的文字隐藏并加上省略号,悬浮时隐藏的文字显示出来?解决问题时发现了css3的一个新标签  text-overflow  ,其属性规定当文本溢出包含元素时发生的事情.语法如下: text-overflow: clip|ellipsis|string; 代码如下: <!DOCTYPE html><html><head><meta http-equiv="Content-Type&q

禁止鼠标多次点击选中div中的文字

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Firefox/Opera不支持onselectstart事件</title></head><body><div id="d1" style="width:200px;height:200px;background:gold;">

鼠标移动div时禁止选中div中的文字的方法

这是通过CSS样式来实现的禁止用鼠标选择功能:unselectable为IE准备,onselectstart为Chrome.Safari准备,-moz-user-select是FF的 cssstyle: html,body{-moz-user-select: none; -khtml-user-select: none; user-select: none;} <div unselectable="on" onselectstart="return false;&quo

H5/纯JS实现:把网页中的文字复制到剪切板

const dom = document.getElementById(`span1`) const selection = window.getSelection() const range = document.createRange() // 选择复制目标 range.selectNodeContents(dom) selection.removeAllRanges() selection.addRange(range) // 已复制文字 console.log('selectedText

jquery的load加载js页面到指定div中

4<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getSer

“display:block-inline形式的Span或Div中添加文字后,导致Span或Div排版掉落、错位”的原因及解决方法

摘自:http://www.xuebuyuan.com/825857.html 最近在使用3个span(或div)制作带圆角边框的按钮时,按照常识,把span的display设置成inline-block,这样就可以设置span的width和height了,很爽的~ 可是当我在中间的span写上文字的时候,神奇的事情发生了: 是的,写上字的那个span掉下来了,掉落,排版错位,很恶心的东西!使用Chrome的开发者工具查看,css和盒模型没有半点问题,郁闷中-- 仔细观察发现,掉落的高度貌似跟文

如何让高度自适应的div中的文字水平垂直居中

1.在做数据展示的时候,因为后台没有数据,为了提示用户没有数据,自己手写了一个div中间显示一个"暂无数据的字样", 然后控制显示和隐藏,这样方法有两种: 第一种:设置display隐藏,但有一个问题,因为我的div中用了display:table-cell,所以起了冲突, 第二种:更改z-index的值 不显示的时候设置0,显示的时候设置最大值就行(推荐使用) 本文主要是探讨,因为外层的div的宽度和高度是不固定,导致了文字不能水平垂直居中的问题,解决办法: #big{ width: