猎酷网

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

2013-04-12 0人评论 627次浏览 分类:Js/Jquery特效

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

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

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

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

  1. <HTML> 
  2. <HEAD> 
  3. <TITLE>NewDocumentTITLE> 
  4. <METANAMEMETANAME="Generator"CONTENT="EditPlus"> 
  5. <METANAMEMETANAME="Author"CONTENT=""> 
  6. <METANAMEMETANAME="Keywords"CONTENT=""> 
  7. <METANAMEMETANAME="Description"CONTENT=""> 
  8. <styletypestyletype="text/css"> 
  9. #info{  
  10. font-size:12px;  
  11. overflow:hidden;  
  12. background-color:#ffffcc;  
  13. color:black;  
  14. padding-right:5px;  
  15. padding-left:5px;  
  16. font-family:courier;  
  17. width:100%;  
  18. letter-spacing:0;  
  19. line-height:12px;  
  20. border-style:none;  
  21. }  
  22. style> 
  23. HEAD> 
  24.  
  25. <BODY> 
  26.  
  27. <dividdivid="sdf"style="width:400px;"> 
  28. <textareaidtextareaid="info"onblur="saveInfo()"onmouseout="saveInfo()"
  29. onkeyup="setRows()">textarea> 
  30. div> 
  31. <scriptlanguagescriptlanguage="JavaScript"> 
  32. functionsaveInfo(){  
  33. vartext=document.getElementById("info").value;  
  34. //再用ajax向数据库中更新当前修改内容  
  35. }  
  36. functionsetCols(){  
  37. vartextarea=document.getElementById("info");  
  38. textarea.setAttribute("cols",Math.floor(textarea.clientWidth/7));  
  39. setRows();  
  40. }  
  41. functionsetRows(){  
  42. vartextarea=document.getElementById("info");  
  43. varcols=textarea.cols;  
  44. varstr=textarea.value;  
  45. strstr=str.replace(/\r\n?/,"\n");  
  46. varlines=2;  
  47. varchars=0;  
  48. for(i=0;i<str.length;i++){  
  49. varc=str.charAt(i);  
  50. chars++;  
  51. if(c=="\n"||chars==cols){  
  52. lines++;  
  53. chars=0;  
  54. }  
  55. }  
  56. textarea.setAttribute("rows",lines);  
  57. textarea.style.height=lines*12+"px";  
  58. }  
  59. functionsetDefault(){  
  60. vartextarea=document.getElementById("info");  
  61. textarea.value="单击这里进行编辑";  
  62. }  
  63. setDefault();  
  64. setCols();  
  65. script> 
  66. BODY> 
  67. HTML> 
  68.  

[Ctrl+A全选注:如需引入外部Js需刷新才能执行]

思路:将textarea通过CSS样式设计成让用户感觉不像是textarea的样子,通过onblur、oumouseout等属性进行ajax保存用户数据。


顶一下
(0)
0%
踩一下
(0)
0%

发表评论共有0访客发表了评论

    暂无评论,快来抢沙发吧!

我来说几句吧

验证码: 看不清楚?