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

疆括仕网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

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="https://tyhkzb.com/article/cogddjd.html">https://tyhkzb.com/article/cogddjd.html</a> </div> </div> <div class="othernews"> <h3>其他资讯</h3> <div class="othernews_list"> <ul> <li> <a href="/article/djhsghs.html">万网域名备案流程及注意事项简介</a> </li><li> <a href="/article/djhsjoh.html">jsreplace函数怎么用</a> </li><li> <a href="/article/djhsgio.html">国内服务器和香港服务器的区别吗</a> </li><li> <a href="/article/djhsgsj.html">如何把html字体竖向排列</a> </li><li> <a href="/article/djhsgjg.html">如何从后台往html传数据</a> </li> </ul> </div> </div> </div> </div> <div class="footer"> <div class="footer_content"> <div class="footer_content_top clear"> <div class="content_top_share fl"> <div><img src="/Public/Home/img/logo.png"></div> <div class="top_share_content"> <dd>分享至:</dd> <dt class="bdsharebuttonbox clear" id="share"> <a href="#" class="bds_tsina iconfont fl" data-cmd="tsina" title="分享到新浪微博"></a> <a href="#" class="bds_sqq iconfont fl" data-cmd="sqq" title="分享到QQ好友"></a> <a href="#" class="bds_weixin iconfont fl" data-cmd="weixin" title="分享到微信"></a> <a href="#" class="bds_weixin iconfont fl" data-cmd="tieba" title="分享到贴吧"></a> </dt> <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> </div> </div> <div class="content_top_left fl clear"> <div class="top_left_list fl"> <dd><a href="/about/">关于我们</a></dd> <dt> <a href="/about/#gsjj">公司简介</a> <a href="/about/#fzlc">发展历程</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/service/">服务项目</a></dd> <dt> <a href="/service/">高端网站建设</a> <a href="/miniprogram/">小程序开发</a> <a href="/service/app.html">APP开发</a> <a href="/service/yingxiao.html">网络营销</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/jianzhan/">建站知识</a></dd> <dt> <a href="/jianzhan/">行业新闻</a> <a href="/jianzhan/">建站学堂</a> <a href="/jianzhan/">常见问题</a> </dt> </div> <div class="top_left_list fl"> <dd><a href="/contact/">联系我们</a></dd> <dt> <a href="/contact/#lxwm">公司地址</a> <a href="/contact/#rczp">人才招聘</a> </dt> </div> </div> <div class="content_top_right addressR fr"> <div class="top_right_title addressf_title"> <a href="javascript:;" class="on">成都</a> <a href="javascript:;">大悟县</a> </div> <div class="top_right_content addressf"> <div class="right_content_li on"> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">电话:028-86922220</dt> </div> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">地址:成都市太升南路288号锦天国际A幢1002号</dt> </div> </div> <div class="right_content_li"> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">电话:028-86922220</dt> </div> <div class="right_content_list clear"> <dd class="fl iconfont"></dd> <dt class="fl">地址:湖省孝感市大悟县城关镇鄂北物流城13栋125号</dt> </div> </div> </div> </div> </div> </div> <div class="footer_content_copyright clear">版权所有:大悟县疆括仕商贸有限公司 <a href="http://beian.miit.gov.cn/" rel="nofollow" target="_blank">鄂ICP备2025139637号-7</a> </div> </div> <!--浮窗--> <div class="FloatingWindow clear"> <a href="tencent://message/?uin=1683211881&Site=&Menu=yes" class="FloatingWindow_list fr"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt><span>在线</span>咨询</dt> </div> </a> <a href="javascript:;" class="FloatingWindow_list fr"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt>服务热线</dt> </div> <div class="FloatingWindow_list_down fadeInRight animated">服务热线:028-86922220</div> </a> <a href="javascript:;" class="FloatingWindow_list fr STop"> <div class="FloatingWindow_list_title"> <dd class="iconfont"></dd> <dt>TOP</dt> </div> </a> </div> <script src="/Public/Home/js/jquery-1.8.3.min.js"></script> <script src="/Public/Home/js/comm.js"></script> <script src="/Public/Home/js/wow.js"></script> <script src="/Public/Home/js/common.js"></script> </body> </html> <script> $(".cont 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>