自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Javascript實(shí)現(xiàn)DIV可編輯的兩大途徑

開發(fā) 前端
你對(duì)使用Javascript實(shí)現(xiàn)div可編輯的常見方法是否了解,這里和大家分享一下,它主要用來實(shí)現(xiàn)網(wǎng)頁內(nèi)容的即時(shí)編輯,增加頁面的可用性、交互性。

本文和大家重點(diǎn)討論一下用Javascript實(shí)現(xiàn)div可編輯的常見方法,這里主要有兩種,希望本文的介紹對(duì)你的學(xué)習(xí)有所幫助。

用Javascript實(shí)現(xiàn)div可編輯的常見方法

功能:實(shí)現(xiàn)網(wǎng)頁內(nèi)容的即時(shí)編輯,增加頁面的可用性、交互性。

◆方法一:直接通過textarea標(biāo)簽實(shí)現(xiàn),請(qǐng)運(yùn)行下邊代碼:

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

 [Ctrl+A全選注:如需引入外部Js需刷新才能執(zhí)行]

思路:將textarea通過CSS樣式設(shè)計(jì)成讓用戶感覺不像是textarea的樣子,通過onblur、oumouseout等屬性進(jìn)行ajax保存用戶數(shù)據(jù)。#p#

◆方法二:通過document.createElement的方法向頁面增加input來實(shí)現(xiàn)。請(qǐng)運(yùn)行下邊代碼: 

  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. HEAD> 
  9. <BODY> 
  10. <dividdivid="gtest"> 
  11. 點(diǎn)擊這里就可以編輯  
  12. div> 
  13. <SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript"> 

[Ctrl+A全選注:如需引入外部Js需刷新才能執(zhí)行]

思路:

1、當(dāng)用戶鼠標(biāo)經(jīng)過可編輯區(qū)域時(shí),用背景色等方式提醒用戶該區(qū)域可編輯。

2、當(dāng)用戶鼠標(biāo)點(diǎn)擊該區(qū)域時(shí),也就是onclick事件時(shí),先將原來的內(nèi)容清掉,將臨時(shí)創(chuàng)建出來一個(gè)輸入框和一個(gè)輸入按扭。

3、用戶修改完后,點(diǎn)擊“保存”按扭時(shí)通過ajax向數(shù)據(jù)庫中寫入新的數(shù)據(jù)。

PS:第二個(gè)方法的代碼還有點(diǎn)問題,有空再來調(diào)試一下。

【編輯推薦】

  1. DIV自適應(yīng)高度寫法簡(jiǎn)介
  2. DIV+CSS設(shè)計(jì)IE6、IE7、Firefox兼容性
  3. DIV布局規(guī)范中CSS類及id命名方式
  4. 探究DIV顯示和隱藏用法
  5. 將XHTML+CSS頁面轉(zhuǎn)換為打印機(jī)頁面技巧                                        

【責(zé)任編輯:程華權(quán) TEL:(010)68476606】

責(zé)任編輯:佚名 來源: jb51.net
相關(guān)推薦

2016-08-23 17:47:51

虛擬化

2010-09-14 17:27:12

DIV CSS定位

2010-08-16 16:07:30

DIV垂直居中

2010-09-10 08:54:52

DIV居中

2010-10-09 15:12:00

JavaScript溢出

2010-08-16 10:18:53

DivCSS

2011-08-10 08:55:28

項(xiàng)目失敗

2010-05-04 14:30:45

Oracle數(shù)據(jù)

2009-11-30 16:55:10

微軟合作Novell

2011-07-01 10:42:51

IIS解析漏洞

2010-07-21 10:25:50

Perl

2011-11-02 09:35:34

虛擬化虛擬化管理

2022-02-24 08:00:00

API混合云數(shù)據(jù)

2013-09-09 11:14:30

2009-08-14 15:07:00

C#編譯過程

2011-08-11 09:41:38

2010-04-01 09:34:06

Oracle函數(shù)

2020-12-29 07:56:23

JavaScript數(shù)據(jù)類型 primitive

2010-09-09 10:37:39

CSSdiv列高度

2010-07-15 14:25:06

Perl時(shí)間函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)