contenteditable实现可编辑的HTML标签
最近工作中遇到了一个小问题,让我学到了新的标签属性——contenteditable。
我需要实现的是手机端界面,特别简单的一个页面,如下图;

在我脑海里第一时间想到的应该就是一个form表单然后里面包裹着一个textarea标签这么简单吧,心想着这个界面顶多用十分钟就能搞定。
然后打开编辑器我就开始写了,代码如下;
<form class='textbox' action="" method="post">
<textarea name="" rows="10" cols="20">请写下您的描述</textarea>
<input type="submit" name="finish" id="finish" value="完成" />
<input type="button" name="cancel" id="cancel" value="取消" />
</form>
简单写好样式以后就打开浏览器切换到手机模式下跑一下,结果一眼就发现了问题所在,textarea标签的宽高不能自适应......我用自己所学过狭隘的知识探索并尝试过一番之后发现......还是百度一下吧(/(ㄒoㄒ)/~~)
搜索结果第一条就是HTML5全局contenteditable属性,以前没见过这个属性就打开看了一下,竟然发现比较简单而且很好用。
contenteditable这个属性是如此的好玩,在HTML标签后面增加这个属性并赋予属性值为true,死死的标签竟神奇般的可以编辑了,而且兼容性很好(IE6已经脱节所以没做测试),后来想了想可能用到这个应该有QQ空间吧,打开看了下果然不是textarea,用的是一个div增加contenteditable的属性实现的。
借助着新认识的属性和简单的css样式很快实现了我想要的效果,当你用的时候发现光标点击开始编辑的时候会有边框,而简单的border:none并不能实现清除边框的作用,这个时候给标签添加一组简单的样式代码就可以了:
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-user-modify:read-write-plaintext-only;
outline:none;
contenteditable这个新属性就好比一把钥匙叩开了紧闭标签的编辑大门,以后也许像我这样很可能就会用得到哦,所以写在这里分享给大家,希望大家也都能相互学习。
contenteditable实现可编辑的HTML标签的更多相关文章
- [oldboy-django][2深入django]学生管理(Form)-- 编辑(设置input标签属性,设置input标签默认显示值,设置input的类型)
1 django 后台实现设置input标签属性,设置input标签默认显示值,设置input输入框类型 # Form生成html标签 a. 通过Form生成Input输入框,Form标签,以及sub ...
- jquery input切换编辑和不可编辑模式,input自动获得焦点,遍历所有的子类标签
input切换编辑和不可编辑模式 在项目中我们经常会用到这样的效果,点击一下不可编辑的input 标签,变成可编辑的input标签.用法如下 <input type="text&quo ...
- 实时监测contenteditable(可编辑文档)的内容发生改变
如果是文本框用onchange,oninput,onpropertychange都可以实时监控值发生变化,但是div设置了属性contenteditable(可编辑文档)就不管用了. 最简单的方法用o ...
- HTML5之contenteditable可编辑属性
运用contenteditable实现输入框高度自动增加,输入框标题name相对高度自动居中,代码如下: <!DOCTYPE html> <html> <head> ...
- div contenteditable placeholder
contenteditable型的编辑框,实现placeholder的方式有两种 第一种,Css的实现方式: <!DOCTYPE html> <html lang="en& ...
- HTML5新增的标签和属性归纳
收集总结的HTML5的新特性,基本除了IE9以下都可以使用. HTML5语法 大部分延续了html的语法 不同之处:开头的 <!DOCTYPE html> <html lang=&q ...
- h5废弃的标签和属性及新增的标签和属性
一.废弃的标签和属性 1.表现性元素 a) basefont b) big c) center d) font e) strike f) tt 2.框架类元素 a) frame b) frameset ...
- H5新增的标签和属性
声明 Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML ...
- 设置DIV可编辑
<div id="move" contentEditable="true">可编辑</div> 设置contentEditable属性可 ...
随机推荐
- virtio-win 驱动
Direct downloads are available for the .iso, .vfd, and qemu-ga installers. Stable virtio-win iso: ht ...
- 微信小程序之----弹框组件modal
modal modal类似于javascript中的confirm弹框,默认情况下是一个带有确认取消的弹框,不过点击取消后弹框不会自动隐藏,需要通过触发事件调用函数来控制hidden属性. 官方文档 ...
- js jqery判断checkbox是否选中,全选,取消全选,反选,选择奇数偶数项
// 一,判断选中 // js var ischecked2 = function(){ // this.checked == true $(document.getElementsByTagName ...
- leetcode day8
[83] Remove Duplicates from Sorted List Given a sorted linked list, delete all duplicates such that ...
- 简易的AJAX工具[转]
关键字: ajax 1.创建XMLHttpRequest对象的js文件 Ajax.js function Ajax(){ var xmlHttp=null; if(window.XMLHt ...
- gridview里item是textView、Button单击事件相应,以及按下效果的取去除
1.响应事件的区别: gridview的item是textView的时候,gridview的itemonclick事件可以正常相应,但是换了Button后不能,原因如下: public class B ...
- [c#]解决方案:需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
问题详情 如下图所示(部分): 出现该错误,是因为应用程序中需要使用到jquery(现在的web应用程序哪个能离开jquery呢),而目前程序目录中并没有jquery文件,或者有jquery文件但是程 ...
- iOS 之 事件响应者链
响应者链表示一系列的响应者对象.事件被交由第一个响应者对象处理,如果第一个响应者不处理,事件就沿着响应者链向上传递,交由下一个响应者(Next responder). View->ViewCon ...
- 2.11. 创建托管对象(Core Data 应用程序实践指南)
到现在为止,还没有创建过托管对象,回顾了一下,只是创建了托管对象模型,持久化存储区,持久化存储协调器,托管对象上下文. 那么,现在就来创建托管对象吧. 使用NSEntityDescription 的 ...
- [ Android 五种数据存储方式之二 ] —— 文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. 文件可用来存放大量数据,如文本.图片.音 ...