contenteditable實現可編輯的HTML標簽


最近工作中遇到了一個小問題,讓我學到了新的標簽屬性——contenteditable。

我需要實現的是手機端界面,特別簡單的一個頁面,如下圖;

 

在我腦海里第一時間想到的應該就是一個form表單然后里面包裹着一個textarea標簽這么簡單吧,心想着這個界面頂多用十分鍾就能搞定。

然后打開編輯器我就開始寫了,代碼如下;

<form class='textbox' action="" method="post">
  <textarea name="" rows="10" cols="20">請寫下您的描述</textarea>
   <input type="submit" name="finish" id="finish" value="完成" />
  <input type="button" name="cancel" id="cancel" value="取消" />
</form>

簡單寫好樣式以后就打開瀏覽器切換到手機模式下跑一下,結果一眼就發現了問題所在,textarea標簽的寬高不能自適應......我用自己所學過狹隘的知識探索並嘗試過一番之后發現......還是百度一下吧(/(ㄒoㄒ)/~~)

搜索結果第一條就是HTML5全局contenteditable屬性,以前沒見過這個屬性就打開看了一下,竟然發現比較簡單而且很好用。

contenteditable這個屬性是如此的好玩,在HTML標簽后面增加這個屬性並賦予屬性值為true,死死的標簽竟神奇般的可以編輯了,而且兼容性很好(IE6已經脫節所以沒做測試),后來想了想可能用到這個應該有QQ空間吧,打開看了下果然不是textarea,用的是一個div增加contenteditable的屬性實現的。

借助着新認識的屬性和簡單的css樣式很快實現了我想要的效果,當你用的時候發現光標點擊開始編輯的時候會有邊框,而簡單的border:none並不能實現清除邊框的作用,這個時候給標簽添加一組簡單的樣式代碼就可以了:

-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-user-modify:read-write-plaintext-only;

outline:none;

contenteditable這個新屬性就好比一把鑰匙叩開了緊閉標簽的編輯大門,以后也許像我這樣很可能就會用得到哦,所以寫在這里分享給大家,希望大家也都能相互學習。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM