日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

oninput事件(解决onkeyup无法监听到复制黏贴)

發布時間:2023/12/13 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 oninput事件(解决onkeyup无法监听到复制黏贴) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
change事件需要兩個條件觸發:

   a)當前對象屬性改變,并且是由鍵盤或鼠標事件激發的(腳本觸發無效)
   b)當前對象失去焦點(onblur)

keypress 能監聽鍵盤事件,但鼠標復制黏貼操作就無能為力

HTML5 出現的input事件: 只要輸入框內容發生變化即可觸發(IE: propertychange)
---------------------
文本域輸入字符有限制 如最多125個字符。 一般可以用 max屬性
<textarea id="appy-reason" max="125"></textarea>

但textarea按enter鍵,會導致統計字數不一致
max認為125個字符時,用angular.element("#appy-reason).val().length統計出124個字符
這是因為enter鍵 :
有的系統 (<換行><回車> 2個字符)
有的系統 ''是回車,' '是換行(一個字符)
所以拋棄max屬性 ,利用onkeyup事件自己計算
-----------------------------------------------------------------

onkeyup無法監聽到復制黏貼導致的內容變化,可以使用oninput事件

注:IE下 用 onpropertychange

<textarea
 ng-keydown = "addReason(event)"
 oninput = "angular.element(this).scope().addReason(event)"
 onproperty = "angular.element(this).scope().addReason(event)">
 
 </textarea>
ng-keydown 要注意backspace鍵和delete鍵 字數-1
enter鍵,應該注意阻止事件冒泡
----------------------------------------------------------------
鍵盤與文本事件
按鍵順序:
keydown > keypress > keyup
keydown keypress 發生在文本變化之前 (keypress監聽不到backspace鍵和delete鍵)

backspace鍵 keyCode:8
delete鍵 keyCode:46
enter鍵    keyCode:13
-----------------------------------------------------------------

總結

以上是生活随笔為你收集整理的oninput事件(解决onkeyup无法监听到复制黏贴)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。