正常情况下用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. shell中变量计算

    year=44 1.let,不需要$引用变量 let m=year+3 echo $m 2.(()) m=$((year+3)) 3.[  ],注意两边一定要有空格 m=$[ year+3 ] 4. ...

  2. 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_8 响应json数据之响应json格式数据

    springMvc的框架已经帮我们做好了.发过来的数据转换为javaBean对象 发过来的键值的形式,如果属性和javaBean对应的话,可以直接封装到对象中. key做额外的转换的时候,需要另外的j ...

  3. JAVA VUser

    JAVA VUser 一.java虚拟用户协议 java虚拟用户脚本主要有Java Vuser.Corba-Java.RMI-Java.EJB等类型.这些类型的虚拟用户脚本均可以用java语言来手工编 ...

  4. 如何用 putty 连接远程 Linux 系统

    如何用 putty 连接远程 Linux 系统 Putty 简介 Putty 是一个免费的.Windows x86 平台下的 Telnet.SSH 和 Rlogin 客户端,但是功能丝毫不逊色于商业的 ...

  5. 使用Navicat为Oracle导入函数后函数显示红叉

    上图是plsql中的截图 有可能是Navicat没有缓存过程,刷新试一试,不行的话,对导入的函数进行重新编译即可. 还发现一个问题是,Navicat导出的脚本里面,函数部分竟然没有参数和返回值,让我很 ...

  6. python中复制文件

    1.复制单个文件 1.把home下的test.yml复制到root目录下 In [43]: import shutil In [42]: shutil.copy('/home/test.yml','/ ...

  7. mysql 索引失效的几种情况+

  8. sql(存储过程,事务,索引,游标,触发器)

    1.SqlServer中like '%_%'来匹配下划线: --在sql server的like中下划线类似于通配符%,所以无法使用like '%_%'来匹配下划线 select * from cla ...

  9. Python flask 与 GO WEB服务器性能对比

    测试环境: 系统: CentOS 7.1 Mem: 8G CPU: 虚拟机16核 Python版本: python3.6 Flask版本: 0.12.2 Golang版本: 1.6.3 1.首先写一个 ...

  10. 如何上传整个项目或者是文件夹到github

    原文地址:https://www.cnblogs.com/cairsha/p/11430436.html   在做github个人主页的时候,使用github的readme写起来很麻烦,而且也不好加入 ...