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键 :
有的系统 \n\r(<换行><回车> 2个字符)
有的系统 '\r'是回车,'\n'是换行(一个字符)
所以抛弃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无法监听到复制黏贴)的更多相关文章

  1. 同时绑定onpropertychange 和 oninput 事件,实时检测 input、textarea输入改变事件,支持低版本IE,支持复制粘贴

    实时检测 input.textarea输入改变事件,支持低版本IE,支持复制粘贴 检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件 ...

  2. laravel中observe不能监听到updated事件原因

    //这种方式不行Student::where('id', $request->student_id)->update($student); $findStudent = Student:: ...

  3. JavaScript 使用HTML DOM的oninput事件,实时监听value值变化

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 第二十八课:focusin与focusout,submit,oninput事件的修复

    focusin与focusout 这两个事件是IE的私有实现,能冒泡,它代表获得焦点或失去焦点的事件.现在只有Firefox不支持focusin,focusout事件.其实另外两个事件focus和bl ...

  5. SpringBoot | 第三十二章:事件的发布和监听

    前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节.想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了 ...

  6. input的onchange 和oninput事件

    一个小的功能,也体现了了这几天写程序过程中的遇到的一些常发事件,准备有时间研究一下jQuery和原生js,问题的出现:使用jQuery获取到的节点到底是属于什么,有些事件 居然不能用,就如我今天用到的 ...

  7. 解决ui-router路由监听$stateChangeStart、$stateChangeSuccess、$stateChangeError不执行的问题

    问题解答 angular1项目导入ui-router之后,使用路由监听,代码如下 angular.module('app', ['ui.router', 'ui.router.state.events ...

  8. Oracle 11.2.0.4.0 Dataguard部署和日常维护(4)-Datauard Gap事件解决篇

    Oracle dataguard主库删除备库需要的归档时,会导致gap事情的产生,或者备库由于网络或物理故障原因,倒是备库远远落后于主库,都会产生gap事件,本例模拟gap事件的产生以及处理. 1. ...

  9. jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化

    jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化 js监听输入框值的即时变化 网上有很多关于 onpropertychange.oni ...

随机推荐

  1. min-height clear

    在编辑页面时,总是会遇到min-height的设置 但是设置min-height后下面的div总是 跟随min-height的高度有些漂浮,如果不想让下面的div没有漂浮的效果 可以用到样式 clea ...

  2. kettle--组件(2)--计算器

    组件如下: 对计算类型的说明如下: The table below contains descriptions associated with the calculator step: Functio ...

  3. REMOTE HOST IDENTIFICATION HAS CHANGED问题的解决方式

    好久没更新博客园. 这段没更新博客的时间内收获了很多,所以更新下博客来整理.记录这段时间内学到的内容. 最近腾讯云服务器欠费停机了,所以趁着缴费.趁着心血来潮就……重装了云系统.结果在进行远程ssh连 ...

  4. Eclipse - JAR包制作

    Eclipse - JAR包制作细节   1.Jar包分为两种,一种是不可运行的,一种是可运行的Jar包,他们的主要区别如下:     > 不可直接运行的Jar包主要是用于给别的程序提供调用   ...

  5. host文件配置 了解

    https://blog.csdn.net/CJF_iceKing/article/details/7702694 hosts文件位于" C:\Windows\System32\driver ...

  6. [na]台式机装原版Win2008R2

    坑了老半天,总结出几点 1,系统os下载: http://msdn.itellyou.cn/ 注:其他地方下载的,装后发现不是起不来就是驱动装不了. 2,u盘里放个压缩软件: 好呀压缩   和  浏览 ...

  7. BootCamp支持软件6

    最新版本的 Boot Camp 6 苹果驱动支持的机型列表 苹果官方已经公布了 BootCamp 6 驱动支持的机型列表了,基本上 2012 年后的 Macbook / Pro / Air / iMa ...

  8. CCNA2.0笔记_安全管理设备

    设备安全 配置Console密码 Switch(config)#line console 0 Switch(config-line)#login Switch(config-line)#passwor ...

  9. JavaScript变量的生命周期

    最近看国外经典教材的时候发现JavaScript与熟知的Java,C,C++都不同的特性,其中一个就是变量的生命周期.   1.在JavaScript中,对于for循环中定义的i变量,其生命周期在循环 ...

  10. linux学习笔记24---命令grep

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是global search regular expression(RE) and ...