其实这个属性很简单,既然把它放到一个单独的文章来说,他肯定有一些注意点要讲

兼容性很好,兼容所有主流浏览器。

用法很简单,只需要给你需要的标签填上即可。

<div contenteditable="true">我是一个div</div>

那么会出现一个神奇的效果。(文字可以编辑)

语法也很简单。

contenteditable="true" (可以编辑)

contenteditable="false" (不可以编辑)

如果是嵌套关系的呢?

<div contenteditable="true">
我是一个div1
<div>我是div2,没有contenteditable属性</div>
</div>

你会发现,即使是嵌套关系,里面的标签也没有contenteditable 属性,也是可以编辑的,这又是为啥呢? 其实这个属性有继承关系,只要父级有,那么子级也会继承下来,所以说,子级也是可以编辑的啦。

如果子级不想编辑,给子级添加上contenteditable=“false” 即可

最后说一下,下面这种特殊情况,按理来说,span 的 姓名 和 年龄都是不可以编辑的对吧。

<div contenteditable="true">
<span contenteditable="false">姓名:</span>小明<br>
<span contenteditable="false">年龄:</span>20岁
</div>

看下下面的操作。

然后只要从 上面一行开始编辑,就会发现,即使是 contenteditable=“false” 的两个 span里面的文字,都被删除了。这又是为啥呢,这是因为,被标记了 false的标签,那么他的内部文字是不能被编辑的,但是 外部的编辑,是可以把你整个标签给删除掉的。 所以得避开这种布局。

H5系列之contenteditable的更多相关文章

  1. H5系列之History(必知必会)

    H5系列之History(必知必会)   目录 概念 兼容性 属性 方法 H5方法       概念     理解History Api的使用方式 目的是为了解决哪些问题   作用:ajax获取数据时 ...

  2. H5新增属性contenteditable(不用JS,实现div模拟textarea高度自增长)

    无意中看到一篇博客介绍了contenteditable这个属性——不需用JS,只需在div里加上contenteditable="true",即可实现div模拟textrarea( ...

  3. H5系列之地理位置(必知必会)

    H5之地理位置必知必会     [02]概念   规范地址:http://www.w3.org/TR/geolocation-API/     HTML5 Geolocation(地理定位)用于定位用 ...

  4. H5新属性 contenteditable

    contenteditable 属性规定元素内容是否可编辑 <div contenteditable style="width: 100px;height:100px"> ...

  5. H5全局属性contenteditable,实现可编辑元素

    <div contenteditable="true">这是一段可编辑的段落.请试着编辑该文本.</div> 效果如下:

  6. H5系列之video自己编写控制栏

    首先来了解一下 video, video呢,是H5 的标签,别人说的 H5播放器,没错 就是他了,利用video标签,可以实现视频播放. 但是啊,你会发现,在不同的浏览器上,播放器的 控制栏,都是不一 ...

  7. H5系列之canvas

    what is canvas?(什么是canvas) 其实他只是H5里面的一个标签而已,那么他作为一个标签,肯定有他的用途,他就像是一幅画布,等待着你来作画.可以说,他只是一个容器而已,需要配合着Ja ...

  8. H5系列之常用的语义元素

    H5添加了几个新标签,带有语义化的标签,像我们的div 和 span 标签,你说他两能干嘛呢, 好像他两什么事都能干.举个例子,你家里的房子,有几个房间,如果不分房间的话,是不是你 今天睡这里,明天睡 ...

  9. H5系列之drag拖放

    H5中, 有个属性,draggable="true", 这个属性呢(默认false),需要加在标签上,加上去该标签就可以拖动了, 看下gif图吧 默认的标签,是不能拖动的,但是有两 ...

随机推荐

  1. python中的多(liu)元(mang)交换 ,赋值

    多元赋值 顾名思义 同时对多个变量赋值 长话短说 举例: int x = 1 int y = 2 x,y = y ,x 这种写法可以直接交换x,y的值 非常方(liu)便(mang) 也就是 y=1 ...

  2. ScheduledExecutor定时器

    为了弥补Timer 的上述缺陷,在Java 5的时候推出了基于线程池设计的 ScheduledExecutor.其设计思想是:每一个被调度的任务都会由线程池中一个线程去执行,因此任务是并发执行的,相互 ...

  3. vue组件使用name属性来生成递归组件

    先来个简单的数据 1 lists = [{ 2 id: 1, 3 title: '第一层', 4 children: [{ 5 id: 3, 6 title: '第二层', 7 children: [ ...

  4. Luogu P4105 [HEOI2014]南园满地堆轻絮

    题解 传送门 其实只要找差距最大的逆序对就好了 答案就是此逆序对的差 /2 代码 (代码很短) #include<bits/stdc++.h> using namespace std; # ...

  5. NB-IoT技术的低成本因素是来源于什么

    一套成熟的蜂窝物联网应用体系,涉及NB-IoT芯片.通信模组.UE.运营商网络.数据流量费用.通信协议栈.物联网平台.垂直应用软件.云平台.大数据.工程安装.运营维护等多个方面.对于物联网终端的海量部 ...

  6. Flask常用API

    Flask常用API 1.os ​ 拼接路径:pathname = os.path.join(basepath, filename) 获得文件名后缀:suffix = os.path.splitext ...

  7. 【SpringBoot】09.SpringBoot整合Freemarker

    SpringBoot整合Freemarker 1.修改pom文件,添加坐标freemarker启动器坐标 <project xmlns="http://maven.apache.org ...

  8. Go读取论文并转换为simhahs

    package main import ( "fmt" _"flag" _ "os" _ "io/ioutil" _&q ...

  9. SpringBoot第九集:整合JSP和模板引擎Freemarker/Thymeleaf(2020最新最易懂)

    SpringBoot第九集:整合JSP和模板引擎(2020最新最易懂) 当客户通过前端页面提交请求后,我们以前是怎么做的?后端接收请求数据,处理请求,把响应结果交给模板引擎JSP,最后将渲染后的JSP ...

  10. 监控-Cat项目部署

    一.Cat的项目背景 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统.美团点评基础架构部希望在基础存储.高性能通信.大 ...