189 8069 5689

Javascript实现DIV可编辑的两大途径

本文和大家重点讨论一下用Javascript实现div可编辑的常见方法,这里主要有两种,希望本文的介绍对你的学习有所帮助。

成都创新互联公司是专业的扬州网站建设公司,扬州接单;提供网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行扬州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

用Javascript实现div可编辑的常见方法

功能:实现网页内容的即时编辑,增加页面的可用性、交互性。

◆方法一:直接通过textarea标签实现,请运行下边代码:

 
 
 
  1.  
  2.  
  3. NewDocument TITLE> </li> <li><METANAMEMETANAME="Generator"CONTENT="EditPlus"> </li> <li><METANAMEMETANAME="Author"CONTENT=""> </li> <li><METANAMEMETANAME="Keywords"CONTENT=""> </li> <li><METANAMEMETANAME="Description"CONTENT=""> </li> <li><styletypestyletype="text/css"> </li> <li>#info{  </li> <li>font-size:12px;  </li> <li>overflow:hidden;  </li> <li>background-color:#ffffcc;  </li> <li>color:black;  </li> <li>padding-right:5px;  </li> <li>padding-left:5px;  </li> <li>font-family:courier;  </li> <li>width:100%;  </li> <li>letter-spacing:0;  </li> <li>line-height:12px;  </li> <li>border-style:none;  </li> <li>}  </li> <li> style> </li> <li> HEAD> </li> <li> </li> <li><BODY> </li> <li> </li> <li><dividdivid="sdf"style="width:400px;"> </li> <li><textareaidtextareaid="info"onblur="saveInfo()"onmouseout="saveInfo()"</li> <li>onkeyup="setRows()"> textarea> </li> <li> div> </li> <li><scriptlanguagescriptlanguage="JavaScript"> </li> <li>functionsaveInfo(){  </li> <li>vartext=document.getElementById("info").value;  </li> <li>//再用ajax向数据库中更新当前修改内容  </li> <li>}  </li> <li>functionsetCols(){  </li> <li>vartextarea=document.getElementById("info");  </li> <li>textarea.setAttribute("cols",Math.floor(textarea.clientWidth/7));  </li> <li>setRows();  </li> <li>}  </li> <li>functionsetRows(){  </li> <li>vartextarea=document.getElementById("info");  </li> <li>varcols=textarea.cols;  </li> <li>varstr=textarea.value;  </li> <li>strstr=str.replace(/\r\n?/,"\n");  </li> <li>varlines=2;  </li> <li>varchars=0;  </li> <li>for(i=0;i<str.length;i++){  </li> <li>varc=str.charAt(i);  </li> <li>chars++;  </li> <li>if(c=="\n"||chars==cols){  </li> <li>lines++;  </li> <li>chars=0;  </li> <li>}  </li> <li>}  </li> <li>textarea.setAttribute("rows",lines);  </li> <li>textarea.style.height=lines*12+"px";  </li> <li>}  </li> <li>functionsetDefault(){  </li> <li>vartextarea=document.getElementById("info");  </li> <li>textarea.value="单击这里进行编辑";  </li> <li>}  </li> <li>setDefault();  </li> <li>setCols();  </li> <li> script> </li> <li> BODY> </li> <li> HTML> </li> <li> </li> </ol></pre><p> [Ctrl+A全选注:如需引入外部Js需刷新才能执行]</p><p>思路:将textarea通过CSS样式设计成让用户感觉不像是textarea的样子,通过onblur、oumouseout等属性进行ajax保存用户数据。#p#</p><p>◆方法二:通过document.createElement的方法向页面增加input来实现。请运行下边代码: </p><ol> <li> </li> <li><HTML>  </li> <li><HEAD>  </li> <li><TITLE>NewDocument TITLE>  </li> <li><METANAMEMETANAME="Generator"CONTENT="EditPlus">  </li> <li><METANAMEMETANAME="Author"CONTENT="">  </li> <li><METANAMEMETANAME="Keywords"CONTENT="">  </li> <li><METANAMEMETANAME="Description"CONTENT="">  </li> <li> HEAD>  </li> <li> </li> <li><BODY>  </li> <li><dividdivid="gtest">  </li> <li>点击这里就可以编辑   </li> <li> div>  </li> <li><SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript">  </li> </ol> <p> </p><p>[Ctrl+A全选注:如需引入外部Js需刷新才能执行]</p><p>思路:</p><p>1、当用户鼠标经过可编辑区域时,用背景色等方式提醒用户该区域可编辑。</p><p>2、当用户鼠标点击该区域时,也就是onclick事件时,先将原来的内容清掉,将临时创建出来一个输入框和一个输入按扭。</p><p>3、用户修改完后,点击“保存”按扭时通过ajax向数据库中写入新的数据。</p><p>PS:第二个方法的代码还有点问题,有空再来调试一下。</p> <br> 网站标题:Javascript实现DIV可编辑的两大途径 <br> 文章分享:<a href="http://cdxtjz.cn/article/cogddjd.html">http://cdxtjz.cn/article/cogddjd.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/coghdgo.html">管理掌握Linux Qt系统管理技能,实现无忧运作(linuxqt系统)</a> </li><li> <a href="/article/coghdsg.html">非标机械设计谁知道,哪个平台能做?(公司想建网站怎么建,自己建网站怎么建)</a> </li><li> <a href="/article/coghdej.html">怎么自己搭建vps?(vps建站教程)</a> </li><li> <a href="/article/coghdsj.html">变革型CISO是怎样炼成的?</a> </li><li> <a href="/article/coghdip.html">使用香港服务器BGP线路的优势有哪些</a> </li> </ul> </div> </div> <footer> <div class="foot container"> <div class="footl fl"> <h3>联系我们</h3> <dl> 您好HELLO!<br> 感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。 </dl> <ul> <li>电话:028- <span>86922220 18980695689</span></li> <li>商务合作邮箱:631063699@qq.com</li> <li>合作QQ: 532337155</li> <li>成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼</li> </ul> </div> <div class="footr fr"> <h3>小谭建站工作室</h3> <dl> 成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务! </dl> <h3>小谭观点</h3> <dl> 相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。<br> 我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。 </dl> </div> </div> <div class="link"> <div class="container"> <span> 友情链接:</span> <a href="https://www.cdxwcx.com/wangzhan/pinpai.html" title="品牌网站建设公司" target="_blank">品牌网站建设公司</a>   <a href="http://www.dwmqk.com/" title="大悟县实木楼梯" target="_blank">大悟县实木楼梯</a>   <a href="http://www.rlvva.com/" title="成都工商注册" target="_blank">成都工商注册</a>   <a href="https://www.cdxwcx.com/tuiguang/" title="成都网络推广" target="_blank">成都网络推广</a>   <a href="https://www.cdcxhl.com/" title="网站建设" target="_blank">网站建设</a>   <a href="http://www.cmpfcb.com/" title="海口厨房设备" target="_blank">海口厨房设备</a>   <a href="http://www.xhgfhy.com/ " title="雨棚定制" target="_blank">雨棚定制</a>   <a href="http://www.ycggtw.cn/" title="金羊影视传媒" target="_blank">金羊影视传媒</a>   <a href="http://www.ysfsjgs.com/" title="成都海报画册设计" target="_blank">成都海报画册设计</a>   <a href="http://www.cdzqygs.com/" title="企业网站维护" target="_blank">企业网站维护</a>    </div> </div> <div class="copy"> © Copyright 2023 <a href="http://www.cdxtjz.cn/">小谭建站工作室</a>All Rights Reserved.  <a href="https://www.cdxwcx.com" target="_blank">成都网站建设</a> / <a href="https://www.cdcxhl.com/" target="_blank">成都网站建设</a> / <a href="https://www.cdxwcx.com" target="_blank">响应式网站建设</a> / <a href="https://www.cdcxhl.com/zuyong/" target=" _blank">成都服务器租用</a></div> </footer> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>