最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

设置contenteditable属性可编辑HTML标签的内容(可代替textarea)

来源:动视网 责编:小采 时间:2020-11-27 14:44:23
文档

设置contenteditable属性可编辑HTML标签的内容(可代替textarea)

设置contenteditable属性可编辑HTML标签的内容(可代替textarea):代码如下:<div contenteditable=true>可以编辑里面的内容</div> 如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇。因此我们可以给HTML标签设置contenteditable="true&
推荐度:
导读设置contenteditable属性可编辑HTML标签的内容(可代替textarea):代码如下:<div contenteditable=true>可以编辑里面的内容</div> 如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇。因此我们可以给HTML标签设置contenteditable="true&



代码如下:
<div contenteditable="true">可以编辑里面的内容</div>

如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇。因此我们可以给HTML标签设置contenteditable="true"属性则可以对该标签进行编辑。

contenteditable属性兼容所有浏览器(IE6之前的版本是否兼容未测试)

在有些时候我们完全可以用DIV去替代input或者textarea来达到同样的效果,例如,在使用ajax的时候,在提交表单时我们可以获取DIV的内容。

细心的人会发现,QQ空间中的发表说说的文本框其实就是一个DIV,而非textarea文本框。

Div+CSS如何模拟textarea文本域高度自适应以达到html5标准的contenteditable属性

主要通过为标签添加HTML5中的contenteditable属性达到此效果(contenteditable:规定是否允许用户编辑内容),很棒的是,此属性IE也会支持,所以不用再为兼容问题太去纠结了。
  DEMO:


代码如下:
  <style type="text/css">
  .demoEdit{border:1px solid #dddddd;width:450px;min- height:20px;_height:20px;outline:0px;padding:2px;} // outline:0px;样式解决容器获取焦点时,在FF浏览器下容器会显示虚线框的效果.
  .demoEdit p{margin:0px;padding:0px;}
  </style>
  <div contenteditable="true" style="border:1px solid #dddddd;width:360px;min-height:20px;_height:20px;outline:0px;"></div>
  <div contenteditable="true" class="demoEdit"></div>

  附:
  在FF浏览器下,容器获取焦点时,光标的高度会与容器的高度一样高或者不显示光标. 此时若为容器默认加个占位符,比如<br/>或 可以解决这一问题.

现在煜子给大家介绍另一种可编辑可自动适应高度,但又不用加js代码的好方法。让大家开开眼界,煜子直接使用DIV也可以当文本框用,类似于TextArea文本框,更重要的是DIV的用户体验更完美更帅。  

Html中的contentEditable属性可以打开某些元素的可编辑状态。也许你没用过contentEditable属性,甚至从未听说过,contentEditable的作用相当神奇。可以让div或整个网页,以及span等等元素设置为可写.我们最常用的输入文本内容便是input与textarea 使用contentEditable属性后,可以在div,table,p,span,body,等等很多元素中输入内容.特别是contentEditable已在html5标准中得到有效的支持。大家来见证一下吧。

设置contentEditable=”true”属性后,是不是相当的神奇。哈哈…
 
DEMO页面: http://demo.jb51.net/js/2014/ContentEditable/

我们来个特效吧,通过开启div元素编辑,是否能插入图片,这是需要用到js了。


代码如下:
<script>
function img(){
var location1 = prompt("请输入图片的地址:","http://");
if(location1){
selImg(location1);
}
}
function selImg(s){
if(!s){return false;}
var h=s.substr(s.lastIndexOf(".")+1,3);
if(h=="gif"||h=="jpg" || h=="GIF" || h=="JPG"){
Edit=document.getElementById("idEdit")
Edit.innerHTML+='<img src='+s+'>'
}
else{
}
}
</script>
<div NAME=EditCtrl id=idEdit contentEditable=true style="width:100%;height:200px;border:1px solid #666666"> <b>Yuzi.me</b></div>
<input type="button" name="Submit" value="插入图片" onclick="img()">

妙哉,如果想使用更多效果,需要自己写js代码了。望各位攻城(功臣)们发挥极致,盼分享!

文档

设置contenteditable属性可编辑HTML标签的内容(可代替textarea)

设置contenteditable属性可编辑HTML标签的内容(可代替textarea):代码如下:<div contenteditable=true>可以编辑里面的内容</div> 如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇。因此我们可以给HTML标签设置contenteditable="true&
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top