oninput事件(解决onkeyup无法监听到复制黏贴)
change事件需要两个条件触发:
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无法监听到复制黏贴)的更多相关文章
- 同时绑定onpropertychange 和 oninput 事件,实时检测 input、textarea输入改变事件,支持低版本IE,支持复制粘贴
实时检测 input.textarea输入改变事件,支持低版本IE,支持复制粘贴 检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件 ...
- laravel中observe不能监听到updated事件原因
//这种方式不行Student::where('id', $request->student_id)->update($student); $findStudent = Student:: ...
- JavaScript 使用HTML DOM的oninput事件,实时监听value值变化
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 第二十八课:focusin与focusout,submit,oninput事件的修复
focusin与focusout 这两个事件是IE的私有实现,能冒泡,它代表获得焦点或失去焦点的事件.现在只有Firefox不支持focusin,focusout事件.其实另外两个事件focus和bl ...
- SpringBoot | 第三十二章:事件的发布和监听
前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节.想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了 ...
- input的onchange 和oninput事件
一个小的功能,也体现了了这几天写程序过程中的遇到的一些常发事件,准备有时间研究一下jQuery和原生js,问题的出现:使用jQuery获取到的节点到底是属于什么,有些事件 居然不能用,就如我今天用到的 ...
- 解决ui-router路由监听$stateChangeStart、$stateChangeSuccess、$stateChangeError不执行的问题
问题解答 angular1项目导入ui-router之后,使用路由监听,代码如下 angular.module('app', ['ui.router', 'ui.router.state.events ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(4)-Datauard Gap事件解决篇
Oracle dataguard主库删除备库需要的归档时,会导致gap事情的产生,或者备库由于网络或物理故障原因,倒是备库远远落后于主库,都会产生gap事件,本例模拟gap事件的产生以及处理. 1. ...
- jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化
jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化 js监听输入框值的即时变化 网上有很多关于 onpropertychange.oni ...
随机推荐
- EularProject 32: 数字1-9排列构成乘法等式
Pandigital products Problem 32 We shall say that an n-digit number is pandigital if it makes use of ...
- Effective Java-第二章
第1章 如何最有效地使用Java程序设计语言机器基本类库:java.lang,java.util,java.util.concurrent和java.io. Sun JDK1.6_05版本 第2章 创 ...
- Unable to verify your data submission错误解决
如果不用Yii2提供的ActiveForm组件生成表单,而是自定义表单,那么当你提交表单的时候就会报这个错误 Unable to verify your data submission 这是因为Web ...
- SqlServer2005删除实例
控制面板->选中“SQL Server 2005”卸载,卸载的时候可以选择实例.
- VMWare虚拟机端口转发
# VMWare虚拟机端口转发 虚拟机和宿主机共用主机IP对外提供服务,又不想提供给虚拟机独立IP,使用VM虚拟机提供的端口转发功能正合适. ### 端口转发--------------------- ...
- linux学习笔记31--命令route和routetrace
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- 写一个php小脚本辅助渗透测试
因为一个注入要爬行一些数据,然后写的一个小脚本,能写脚本来辅助渗透,也算是里程碑.哈哈哈 <?php $num = 1; while ($num <= 39) { $web_url = & ...
- QBC运算符含义
HQL运算符 QBC运算符 含义 = Restrictions.eq() ...
- php安装redis扩展初始化失败解决办法
错误信息如下: PHP Warning: PHP Startup: redis: Unable to initialize module Module compiled with module API ...
- 【每一个人都是梵高】A Neural Algorithm of Artistic Style
文章地址:A Neural Algorithm of Artistic Style 代码:https://github.com/jcjohnson/neural-style 这篇文章我认为可以起个浪漫 ...