正常情况下用contenteditable,IE下有兼容性问题需要将个别字母变成大写的contentEditable。

获取contenteditable的内容 对html进行处理 兼容 chrome、IE、Firefox

var html = $(this).html();
if(html){
var lineSign = html.indexOf('<div>');
if(html.indexOf('<p>') > -1){
lineSign = html.indexOf('<p>');
}
if(lineSign !== 0){
if(lineSign > 0){
html = html.slice(0,lineSign);
}
$(this).prepend($('<div></div>',{html:html}));
}
data.opt.val = [];
var h = '',brs = [];
$(this).children('div,p').each(function(i,n){
h = n.innerHTML;
brs = h.split('<br>');
if(brs.length > 0){
$.each(brs,function(j,m){
data.opt.val.push(m.replaceAll('&nbsp;','\t'));
});
}else{
data.opt.val.push(m.replaceAll('&nbsp;','\t'));
}
});
}
1. 与contenteditable属性无关的CSS控制法  
只有webkit内核浏览器才支持read-write-plaintext-only

一个div元素,要让其可编辑,也就是可读写,contenteditable属性是最常用方法,做前端的基本上都知道。但是,知道CSS中有属性可以让普通元素可读写的的同学怕是就少多了。

主角亮相:user-modify.

支持属性值如下:

user-modify: read-only;
user-modify: read-write;
user-modify: write-only;
user-modify: read-write-plaintext-only;

其中,write-only不用在意,当下这个年代,基本上没有浏览器支持,以后估计也不会有。read-only表示只读,就是普通元素的默认状态啦。

然后,read-writeread-write-plaintext-only会让元素表现得像个文本域一样,可以focus以及输入内容
两者的区别就在于,一个可以输入富文本,而下面一个只能输入纯文本
read-write-plaintext-only {
  1. -webkit-user-modify: read-write-plaintext-only;}

test {
    height: 100px;
    padding: 5px;
    border: 1px solid #a0b3d6;
    overflow: auto;}

<p class="test  read-write-plaintext-only"></p>
 

2. 使用标准contenteditable属性值的HTML控制法

目前仅仅是Chrome浏览器支持比较好的。

contenteditable=""
contenteditable="events"
contenteditable="caret"
contenteditable="plaintext-only"  
contenteditable="true"
contenteditable="false"

contenteditable兼容问题的更多相关文章

  1. 获取contenteditable的内容 对html进行处理 兼容 chrome、IE、Firefox

    var html = $(this).html();if(html){ var lineSign = html.indexOf('<div>'); if(html.indexOf('< ...

  2. H5嵌入原生开发小结----兼容安卓与ios的填坑之路

    一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的 ...

  3. 深入浏览器兼容 细数jQuery Hooks 属性篇

    关于钩子:http://www.cnblogs.com/aaronjs/p/3387906.html 本章的目的很简单,通过钩子函数更细节的了解浏览器差异与处理方案, 版本是2.0.3所以不兼容ie6 ...

  4. jQuery-1.9.1源码分析系列(七) 钩子(hooks)机制及浏览器兼容

    处理浏览器兼容问题实际上不是jQuery的精髓,毕竟让技术员想方设法取弥补浏览器的过错从而使得代码乱七八糟不是个好事.一些特殊情况的处理,完全实在浪费浏览器的性能:突兀的兼容解决使得的代码看起来既不美 ...

  5. H5之contenteditable

    场景: <div id='content' contenteditable='true' > hello </div> <button id='caret'>设置光 ...

  6. 18种CSS3loading效果完整版,兼容各大主流浏览器,提供在线小工具使用

    今天把之前分享的两篇博客<CSS3实现10种Loading效果>和 <CSS3实现8种Loading效果[二]>整理了一下.因为之前所分享的各种loading效果都只是做了we ...

  7. H5软键盘兼容方案

    前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上.需求很明确,看似很简单,其实不然.从实验过一些机型上看,发现主要存在以下问题: ...

  8. contenteditable元素的placeholder输入提示语设置

    在某些情况下,textarea是不够用的,我们还需要显示一些图标或者高亮元素,这就需要用富文本编辑器,而富文本编辑器本质上是HTML元素设置了contenteditable. 然后可能需要像input ...

  9. 关于 div 的 contenteditable 使用,placeholder 和 复制图片显示并上传,按住 enter+ctrl 内容换行

    当使用文本编辑的时候,首先会使用 textarea ,但是,这个里面不能加入其它标签,也就是不能富文本化. 于是可以使用 contenteditable 就是给 div 加上该属性.就变得丰富起来.使 ...

随机推荐

  1. OGG-01201

    OGG-01201 Table of Contents 1. OGG-01201 1.1. 案例1 1.2. 案例2 1 OGG-01201 这种错误,出现的场景之一是 direct load 加载数 ...

  2. 升ttttttt

    升ttttttt 升级日志小书匠 版本号 新功能 修改

  3. 【React自制全家桶】九、Redux入手

    一.React项目中为什么要用Redux 上图: 左图当使用纯React开发稍微大点的项目,因为React数据是瀑布式的,只能通过父子组件传递数据,所以实现关系不大的两React的组件之间的数据传递就 ...

  4. TortoiseSvn客户端介绍

    TortoiseSVN 是svn版本控制系统的一个免费开源客户端,它是svn版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windows Explorer,使用 ...

  5. Selenium 2自动化测试实战29(组织单元测试用例和discover更多测试用例)

    一.组织单元测试用例 看看unittest单元测试框架是如何扩展和组织新增的测试用例以之前的calculator.py文件为例,为其扩展sub()方法,用来计算两个数相减的结果. #coding:ut ...

  6. iOS开发之点击tabBarItem进行Push一个页面

    使用场景: 实现底部Tabbar两个TabBarItem,点击第二个跳转push到个人信息页面: 实现步骤: 首先设置UITabBarController的代理为appdelegate如下:myTab ...

  7. python数据存储--JSON

    HTML正文存储为两种格式:JSON和CSV. 存储为JSON: 首先利用Requests访问http://seputu.com获取HTML文档: #!coding:utf-8 import requ ...

  8. Zemax评价函数经验小结

    2.4 风景透镜 为了说明一个简单的评价函数问题,我们演示一个真实风景透镜实例,这个风景镜有两个局部最优解,它大概是历史上第一个照相透镜,具有合理的大视场.它一开始是在一个成像暗箱(camera ob ...

  9. 基于OpenCV的三维数据点的曲面重构_MySurefaceReconstruction

    在Opencv中有个Viz模块,可以显示三维物体,还可以实现三维动画,本来是很好的东东,但是里面的函数.类的说明太过简单,始终不得要领.不过其中一个扩展功能非常好,就是你可以在vtk中设计自己的模型类 ...

  10. XCTF (app2)

    打开app,有两个输入框和一个按钮.点击按钮会跳转到新的页面显示Waiting for you. 打开JEB反编译. 如果两个输入框的长度都不为0,那么获取这两个值到v0和v1中,Log记录日志. 创 ...