JavaScript輸入字串字數倒計
關於Mutation Observer基本知識可以參閱以下兩篇文章:
(1).Mutation Observer優點一章節。
(2).Mutation Observer用法一章節。
下面分享一段程式碼例項,它利用Mutation Observer實現了文字框輸入字串個數倒計效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> div { width: 240px; height: 80px; border: 1px solid red; } </style> <script> window.onload = function () { var editor = document.querySelector("#editor"); var textInput = document.querySelector("#textInput"); var observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if (mutation.type === "characterData") { var newValue = mutation.target.textContent; textInput.innerHTML = "還可以輸入" + (1000 - newValue.length + "字"); } }); }); observer.observe(editor, { characterData: true, subtree: true, }); } </script> </head> <body> <div id="editor" contenteditable></div> <p id="textInput">還可以輸入100字</p> </body> </html>
上面的程式碼實現輸入字串剩餘字元個數實時顯示效果;注意:對於input 和 textarea表單元素沒有效果。
一.程式碼註釋:
(1).window.onload = function () {},文件內容完全載入完畢再去執行函式中的程式碼。
(2).var editor = document.querySelector("#editor"),獲取指定id的元素物件。
(3).var textInput = document.querySelector("#textInput"),與上面功能相同。
(4).var observer = new MutationObserver(function (mutations) {}),建立一個監聽器。
(5).if (mutation.type === "characterData"),判斷修改型別是否是characterData。
(6).var newValue = mutation.target.textContent,獲取div元素中的文字內容。
(7).textInput.innerHTML = "還可以輸入" + (1000 - newValue.length + "字"),獲取還剩餘的數字。
(8).observer.observe(editor, {
characterData: true,
subtree: true,
}),設定可以監聽監聽的型別,儘管監聽div元素,由於監聽型別包括subtree,那麼文字節點變化也能被堅挺到。
二.相關閱讀:
(1).document.querySelector()參閱JavaScript querySelector()一章節。
(2).forEach()參閱JavaScript forEach()一章節。
(3).innerHTML參閱JavaScript innerHTML 屬性一章節。
相關文章
- 文字框輸入數字倒計例項程式碼
- 字串、整數倒序輸出字串
- jQuery實現的文字輸入字數倒計效果程式碼jQuery
- JavaScript 文字框只能輸入數字JavaScript
- 文字框只能輸入數字 javascriptJavaScript
- JavaScript倒數計時JavaScript
- 字串倒序輸出字串
- 統計字串中數字個數,並將數字字串形式輸出字串
- java判斷輸入的字串是否為數字Java字串
- JavaScript字串轉換數字JavaScript字串
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼
- javascript實時顯示文字框輸入字數JavaScript
- input 輸入框只能輸入數字
- 用指標編寫程式將輸入的字串倒序輸出指標字串
- JavaScript 字串轉數字:陷阱(示例)JavaScript字串
- JavaScript 年月日倒數計時JavaScript
- 文字框輸入文字倒計詳解
- Vue只能輸入數字Vue
- javascript數字和字串相互轉換JavaScript字串
- 標準數字格式字串輸出示例字串
- 自定義數字格式字串輸出示例字串
- javascript驗證輸入文字框內容是否為數字JavaScript
- JavaScript 驗證輸入文字框內容是否為數字JavaScript
- textarea文字框輸入文字數目倒計效果程式碼例項
- 前端開發入門到實戰:JavaScript字串轉換數字前端JavaScript字串
- JavaScript 倒數計時關閉頁面JavaScript
- JavaScript 倒數計時60秒程式碼JavaScript
- JavaScript 倒數計時踩坑集錦JavaScript
- JavaScript倒數計時程式碼例項JavaScript
- javascript如何將字串轉換為數字JavaScript字串
- JavaScript 數字作為字串拼接起來JavaScript字串
- javascript數字和字串的相互轉換JavaScript字串
- JavaScript實時計算輸入文字框字元數量JavaScript字元
- 7-1 jmu-python-輸入輸出-計算字串中的數Python字串
- JavaScript 前端倒數計時糾偏實現JavaScript前端
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- JavaScript倒數計時隱藏廣告詳解JavaScript
- JavaScript春節倒數計時程式碼例項JavaScript