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/dpoecps.html">Redis查看密码遇到报错排查经验指南(redis查看密码报错)</a> </li><li> <a href="/article/dpoecgo.html">抖音圆字灯笼怎么获得-抖音圆字灯笼获取教程</a> </li><li> <a href="/article/dpoecec.html">实例解读:网络安全设备的三种管理模式</a> </li><li> <a href="/article/dpoechi.html">windows11用户名是什么?windows用户名是什么</a> </li><li> <a href="/article/dpoecis.html">win8系统开始界面怎么设置?windows8开始屏幕设置</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="http://www.cdhuace.com/zhuangxiu.html" title="成都店面装修公司" target="_blank">成都店面装修公司</a>   <a href="https://www.cdxwcx.com/jifang/guanghua.html" title="成都光华电信机房" target="_blank">成都光华电信机房</a>   <a href="http://www.hnjierui.cn/" title="巴中网站建设" target="_blank">巴中网站建设</a>   <a href="http://www.cdhuace.com/huace.html" title="成都画册设计公司" target="_blank">成都画册设计公司</a>   <a href="http://m.cdxwcx.com/tuoguan.html" title="成都服务器托管" target="_blank">成都服务器托管</a>   <a href="http://www.zaowang.cn/" title="成都柴油发电机组" target="_blank">成都柴油发电机组</a>   <a href="https://www.cdcxhl.com/sosuo.html" title="关键词排名" target="_blank">关键词排名</a>   <a href="http://www.chfqk.com/" title="帕金斯发电机维修" target="_blank">帕金斯发电机维修</a>   <a href="http://www.4006tel.net/" title="app网站建设" target="_blank">app网站建设</a>   <a href="http://www.rfxrdlaz.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>