為textarea新增maxlength屬性程式碼例項
不能說textarea沒有maxlength屬性,但是相容性問題巨大,標準瀏覽器都支援,但是IE10以下的瀏覽器並不支援。下面就通過程式碼例項介紹一下用javascript模擬實現此功能。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html><html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> var textarea_maxlen={ isMax:function(){ var textarea=document.getElementById("area"); var max_length=10; if(textarea.value.length>max_length){ textarea.value=textarea.value.substring(0, max_length); } }, disabledRightMouse:function(){ document.oncontextmenu=function(){ return false; } }, enabledRightMouse:function(){ document.oncontextmenu = null; } }; window.onload=function(){ var txt=document.getElementById("area"); txt.onkeyup=function(){ textarea_maxlen.isMax(); } txt.onfocus=function(){ textarea_maxlen.disabledRightMouse(); } txt.onblur=function(){ textarea_maxlen.enabledRightMouse(); } } </script> </head> <body> <textarea id="area"rows="10" cols="40"></textarea> </body> </html>
上面的程式碼實現了限制textarea限制輸入字元數目的功能,下面介紹一下它的實現過程。
一.實現原理:
實現原理非常簡單,首先宣告瞭一個物件,此物件中定義3個方法,能夠實現限制輸入字元個數的功能。
第一個方法能夠實現當鍵盤按鍵鬆開的時候,檢查文字框中字串的個數,然後將超出的擷取。到現在這隻實現了一半的功能,如果使用者使用右鍵複製黏貼方式的話,就沒有效果了,所以第二個方法就是當文字框獲取焦點的時候被呼叫,它可以為document註冊oncontextmenu事件處理函式,事件處理函式的返回值為false,那麼就是禁用了右鍵功能,第三個方法當溫匡失去焦點的時候呼叫,解綁oncontextmenu事件處理函式。
二.相關閱讀:
1.substring()函式可以參閱javascript substring()一章節。
相關文章
- 為textarea新增maxlength屬性
- addClass()新增多個樣式屬性程式碼例項
- jQuery新增和刪除元素class屬性例項程式碼jQuery
- Python 動態新增例項屬性,例項方法,類屬性,類方法Python
- js prototype屬性使用程式碼例項JS
- javascript的cssText屬性程式碼例項JavaScriptCSS
- css屬性選擇器程式碼例項CSS
- textarea文字框高度自適應程式碼例項
- maxlength和size屬性區別
- javascript為html元素新增自定義屬性程式碼JavaScriptHTML
- css3 filter屬性作用演示程式碼例項CSSS3Filter
- JavaScript 例項屬性JavaScript
- 使用CSS禁止textarea文字框調整大小程式碼例項CSS
- javascript限制textarea文字框輸入字元個數程式碼例項JavaScript字元
- javascript通用獲取元素樣式屬性值程式碼例項JavaScript
- jQuery通過多個屬性篩選元素程式碼例項jQuery
- 獲取iframe標籤的src屬性值程式碼例項
- javascript動態改變iframe元素src屬性程式碼例項JavaScript
- Python - 物件導向程式設計 - 類變數、例項變數/類屬性、例項屬性Python物件程式設計變數
- textarea多行文字域的type屬性值是textarea
- Python 類的屬性與例項屬性Python
- Input的size與maxlength屬性的區別
- textarea文字框輸入文字數目倒計效果程式碼例項
- js通過type屬性值篩選input元素程式碼例項JS
- javascript刪除或者新增option選項例項程式碼JavaScript
- table表格單元格橫向和屬性合併程式碼例項
- linear-gradient屬性製作邊框程式碼例項
- jQuery css()設定和獲取元素css屬性值程式碼例項jQueryCSS
- jquery動態新增li元素程式碼例項jQuery
- vue例項的屬性和方法Vue
- textarea 多行文字域 type 屬性值
- css彈性佈局程式碼例項CSS
- flex彈性佈局程式碼例項Flex
- canvas線性漸變程式碼例項Canvas
- vue例項中watch屬性的使用Vue
- Python類屬性和例項屬性分別是什麼?Python
- 關於Python類屬性與例項屬性的討論Python
- display: flex彈性佈局程式碼例項Flex