1. 程式人生 > >手機端textarea中輸入字數監控

手機端textarea中輸入字數監控

應產品的需求,在前端輸入文字的時候,需要監控當前輸入了多少字。找了很久,才找到幾個監控輸入的方法。

一開始用input測試時候,發現在輸入中文的過程中。文字還沒有確定,只是在輸入拼音過程中,就會被觸發。

而後找了compositionend,但是發現在輸入英文時候就沒法觸發此方法(不知道時候不是姿勢不正確導致的)。compositionend對應的有compositionstart方法,在輸入開始時候會被觸發。但是三個每個方法都無法滿足要求。後來參照google到的一個哥們寫的東西完成了監控。

isLock = false;//是否鎖定當前的輸入狀態
//輸入即可觸發【不區分中文和英文】
document.querySelector('#textarea').addEventListener('input',function(){
	//只有在非中文輸入狀態的時候,才能更改數字
	if(!isLock){
		var num = this.value.length;
		console.log(num);
	}
})
//中文輸入開始的時候,會觸發此函式
document.querySelector('#textarea').addEventListener('compositionstart',function(){
	isLock = true;//此時在輸入中,加鎖
})
//中文輸入結束的時候,會觸發此方法
document.querySelector('#textarea').addEventListener('compositionend',function(){
	var num = this.value.length;
	console.log(num);
	isLock = false;
})


參照:https://segmentfault.com/a/1190000007514184

相關推薦

手機textarea輸入字數監控

應產品的需求,在前端輸入文字的時候,需要監控當前輸入了多少字。找了很久,才找到幾個監控輸入的方法。 一開始用input測試時候,發現在輸入中文的過程中。文字還沒有確定,只是在輸入拼音過程中,就會被觸發。 而後找了compositionend,但是發現在輸入英文時候就沒法觸發

textarea輸入字數的限制

lap arc str put light limit bre char hold <textarea id="area" name="ss" placeholder="請輸入文本內容" rows="10" cols="50" onkeydown=‘inputL

JavaScript 實現textarea限制輸入字數輸入字數實時統計更新,輸入框實時字數計算移動bug解決

表單 var 假設 字體 eve 大網 blog 無法 tin textarea稱文本域,又稱文本區,即有滾動條的多行文本輸入控件,在網頁的提交表單中經常用到。與單行文本框text控件不同,它不能通過maxlength屬性來限制字數,為此必須尋求其他方法來加以限制以達到預設

如何讓textarea輸入多行的資料在p標籤換行?

我們在用React開發Web專案的過程中,有的時候,我們需要把textarea中輸入的多行字串,在其他的標籤中輸出來,比如p標籤。但是,往往這個時候,在p標籤中輸出的內容其預設情況下是不換行的。比如下面的程式碼: import React,{Component} from 'reac

關於微信手機IOS系統input輸入框無法輸入的問題

inpu input mil net 手機端 family 輸入 tails 覆蓋 把-webkit-user-select:none改成-webkit-user-select:auto;覆蓋掉或者直接註釋掉就行! 別人家的博文:http://blog.csdn.net

移動textarea輸入框監聽和輸入字數限制(相容ios和Android)

html <div class="textareaBox"> <textarea class="wishContent" placeholder="請輸入不超過15個字" maxlength="15"></te

ionic<ion-scroll>設置為左右滾動,蘋果手機觸摸到此標簽上時無法上下滾動內容

direct lin 滾動 direction eat lists -s over hidden ionic中<ion-scroll>設置為左右滾動,蘋果手機端觸摸到此標簽上時無法上下滾動內容。 如下代碼: <ion-scroll direction="x

thinkphp怎麽判斷是手機訪問還是pc訪問?

per ber reg roi clas keywords 瀏覽器 ret 客戶 1 function isMobile() 2 { 3 // 如果有HTTP_X_WAP_PROFILE則一定是移動設備 4 if (isset ($_SER

移動開發模擬手機測試小技巧

小技巧 erl windows ati 頁面效果 cal ora 分享 地址 情景:在開發移動端情況下,pc看到的效果有時於真實手機裏看到的效果可以不大一樣,將代碼發送到服務器再去測試又太麻煩, 這時,下面的小技巧可能就比較有用了,前提需要 pc跟手機一部,並且

手機頁面在項目遇到的一些問題及解決辦法

文本 phone 發生 box art 單選框 打電話 但是 href 前言:前段時間遇到點移動端的問題,網上查找點資料,看到一個挺不錯帖子,所以轉載分享給大家。 1.解決頁面使用 overflow: scroll 在 iOS 上滑動卡頓的問題? 首先你可能會給頁面的 ht

vue重新整理當前路由 router-view的內容(pc+手機

通過改變router-view中的key來達到重新整理元件的目的。 介面上有個重新整理按鈕,點選重新整理的時候,執行函式,改變activeDate的值,為當前的時間戳。這樣就會重新整理router-view中的內容。 <span title="重新整理" @click="refre

WEB移動開發,區域網內手機瀏覽器訪問電腦頁面,實時檢視程式碼除錯結果

痛點:在進行移動端頁面開發時,經常需要用手機檢視開發的頁面效果。雖然瀏覽器自帶模擬器,但是各個手機相容問題除錯以及操作效果除錯還是需要上真機。 解決途徑: 1、將程式碼扔到伺服器,通過連線伺服器訪問頁面除錯 2、採用內網穿透,將自己的電腦當成伺服器主機,手機訪問電腦伺服器。之前我用過NA

在網頁能正常顯示的頁面,在手機出現問題?

只需要在頁面的head中加上如下程式碼即可: <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1,minimum-scale=1,maximum-scale=1,use

微信小程式-textarea獲取輸入值(在modal獲取值)

我的頁面是這樣的。我要點選微信自帶的modal中按鈕獲取textare的輸入值(下面的頁面已經改好了) 文件上的bindblur事件根本就滿足不了使用,因為我在點選按鈕後先呼叫了confirm方法,然後才會呼叫bindblur事件的方法獲取textare值。所以就沒辦法進行了。 網上有的部落格中

javascript常見的函式封裝 :判斷是否是手機,判斷是否是微信,獲取url地址?後面的具體引數值,毫秒格式化時間,手機px、rem尺寸轉換等

// 判斷是否是手機 function plat_is_mobile(){   var sUserAgent = navigator.userAgent.toLowerCase();   var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";   var

textarea文字域輸入字數實時控制

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>實時控制字數</title> <style

控制input,textarea輸入字數

input:number 控制輸入字數 : oninput="if(value.length > 限制位數) value = value.slice(0,限制位數)" textarea顯示剩餘

HTML5手機雙擊放大問題

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> viewport : 表示的是顯示視

Vue 手機禁止輸入框聚焦放大頁面

手機端頁面聚焦輸入框時,部分瀏覽器會區域性放大介面,可能會影響體驗,解決方式如下 更多精彩 實現方式 在專案根目錄找到 index.html 在頁面的 <meta/> 標籤最後新增

網路爬蟲Fiddler抓取PC網頁資料包與手機APP資料包

1 引言   在編寫網路爬蟲時,第一步(也是極為關鍵一步)就是對網路的請求(request)和回覆(response)進行分析,尋找其中的規律,然後才能通過網路爬蟲進行模擬。瀏覽器大多也自帶有除錯工具可以進行抓包分析,但是瀏覽器自帶的工具比較輕量,複雜的抓包並不支援。且有時候需要編寫手機APP爬