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 屬性一章節。
相關文章
- 字串、整數倒序輸出字串
- JavaScript 文字框只能輸入數字JavaScript
- 文字框文字輸入數量倒計效果
- JavaScript倒數計時JavaScript
- 字串倒序輸出字串
- java判斷輸入的字串是否為數字Java字串
- JavaScript字串轉換數字JavaScript字串
- 輸入一個數倒序輸出(遞迴)遞迴
- 用指標編寫程式將輸入的字串倒序輸出指標字串
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼
- input 輸入框只能輸入數字
- JavaScript 年月日倒數計時JavaScript
- 文字框輸入文字倒計詳解
- 前端開發入門到實戰:JavaScript字串轉換數字前端JavaScript字串
- Vue只能輸入數字Vue
- JavaScript 倒數計時踩坑集錦JavaScript
- JavaScript倒數計時程式碼例項JavaScript
- JavaScript 倒數計時60秒程式碼JavaScript
- JavaScript 倒數計時關閉頁面JavaScript
- 7-1 jmu-python-輸入輸出-計算字串中的數Python字串
- JavaScript實時計算輸入文字框字元數量JavaScript字元
- JavaScript 前端倒數計時糾偏實現JavaScript前端
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- 統計輸入的數字為正數和負數的個數
- javascript中將數字轉為字串的方法JavaScript字串
- 2 天!Google Cloud 2022 中國出海數字峰會進入倒數計時GoCloud
- 短視訊app製作,驗證碼輸入時間倒數計時APP
- JavaScript數字四捨五入JavaScript
- JavaScript倒數計時隱藏廣告詳解JavaScript
- 文字框限制輸入字數效果
- /* 數字倒序輸出 題目描述 輸入10個數字,然後逆序輸出。 輸入 十個整數 輸出 逆序輸出,空格分開 樣例輸入 1 2 3 4 5 6 7 8 9 0 樣例輸出 0 9 8 7 6 5 4 3 2
- ncurses輸入函式:字元+字串的輸入函式字元字串
- JavaScript年月日精確到秒倒數計時JavaScript
- JavaScript 原生 小案例 秒殺時鐘倒數計時JavaScript
- JavaScript簡訊重發按鈕可用倒數計時JavaScript
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- Swift 5進入釋出倒數計時Swift
- c++實現輸入一組字串,找出字串中最大最小和統計相同字串出現次數C++字串