关于jquery input textare 事件绑定及用法学习


Posted in Javascript onApril 03, 2013

(1)jquery 绑定事件
目前1.7以上,jquery的事件绑定已经用on替换了原来的bind;
区别:(个人理解)bind是一次绑定事件到每一个子节点;on是只绑定到父节点,然后冒泡到各个子节点;

用法:bind
一个事件,一个方法:$(".class input").bind('click',function(e){...;e.stopPropagation;})
两个事件,一个方法:$(".class input").bind('click mouseover',function(e){...;e.stopPropagation;})
两个事件,两个方法:$(".class input").bind({ click:function(e){...;e.stopPropagation;}, mouseover:function(e){...;e.stopPropagation;} })
on,可以直接替换掉bind,就是说上述的用法都适用于on;
此外,on比bind多了两个可选参数
on( events [, selector ] [, data ], handler(eventObject) )

selector:要绑定的元素,上面的例子可以写成:$(".class").bind('click','input',function(e){...;e.stopPropagation;})
(需要注意的是,有一个事件不好用,就是'大便'ie下独有的事件:onpropertychange;
可以用:$(".class input").bind('propertychange',function(e){...;e.stopPropagation;})
没反应:$(".class").bind('propertychange','input',function(e){...;e.stopPropagation;})
)

data:传递给event.data的参数,$(".class").bind('click','input','123',function(e){alert(e.data/*123*/);e.stopPropagation;})
(更具体用法可查看手册http://api.jquery.com/on/);

(2)input textare 事件
之前做一个文本框内容实时变化事件触发时,用onkeyup + onchange;但onchang必须在文本框失焦后才会触发,后来发现可以用
(if IE) onpropertychange + else oninput 来处理。

说明:
oninput 事件在用户输入、退格、删除、剪切、粘贴及鼠标剪切与粘贴时触发(在 IE9&IE9+ 中可能略有区别)。
(Firefox、Chrome、IE9&IE9+ 均支持)
onpropertychange 事件在用户输入、退格、删除、剪切、粘贴及鼠标剪切与粘贴时触发
(仅 IE 支持)。

(3)常用事件(https://3water.com/article/25583.htm)
oncut 事件在粘贴(ctrl + v)、鼠标粘贴时触发
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即触发。
onbeforeeditfocus 在包含于可编辑元素内的对象进入用户界面激活状态前或可编辑容器变成控件选中区前触发。
onbeforepaste 在选中区从系统剪贴板粘贴到文档前在目标对象上触发。
onbeforeupdate 当成功更新数据源对象中的关联对象前在数据绑定对象上触发。
onblur 在对象失去输入焦点时触发。
onchange 当对象或选中区的内容改变时触发。
onclick 在用户用鼠标左键单击对象时触发。
oncontextmenu 在用户使用鼠标右键单击客户区打开上下文菜单时触发。
oncontrolselect 当用户将要对该对象制作一个控件选中区时触发。
oncut 当对象或选中区从文档中删除并添加到系统剪贴板上时在源元素上触发。
ondblclick 当用户双击对象时触发。
ondeactivate 当 activeElement 从当前对象变为父文档其它对象时触发。
ondrag 当进行拖曳操作时在源对象上持续触发。
ondragend 当用户在拖曳操作结束后释放鼠标时在源对象上触发。
ondragenter 当用户拖曳对象到一个合法拖曳目标时在目标元素上触发。
ondragleave 当用户在拖曳操作过程中将鼠标移出合法拖曳目标时在目标对象上触发。
ondragover 当用户拖曳对象划过合法拖曳目标时持续在目标元素上触发。
ondragstart 当用户开始拖曳文本选中区或选中对象时在源对象上触发。
ondrop 当鼠标按钮在拖曳操作过程中释放时在目标对象上触发。
onerrorupdate 更新数据源对象中的关联数据出错时在数据绑定对象上触发。
onfilterchange 当可视滤镜更改状态或完成转换时触发。
onfocus 当对象获得焦点时触发。
onfocusin 当元素将要被设置为焦点之前触发。
onfocusout 在移动焦点到其它元素之后立即触发于当前拥有焦点的元素上触发。
onhelp 当用户在浏览器为当前窗口时按 F1 键时触发。
onkeydown 当用户按下键盘按键时触发。
onkeypress 当用户按下字面键时触发。
onkeyup 当用户释放键盘按键时触发。
onlosecapture 当对象失去鼠标捕捉时触发。
onmousedown 当用户用任何鼠标按钮单击对象时触发。
onmouseenter 当用户将鼠标指针移动到对象内时触发。
onmouseleave 当用户将鼠标指针移出对象边界时触发。
onmousemove 当用户将鼠标划过对象时触发。
onmouseout 当用户将鼠标指针移出对象边界时触发。
onmouseover 当用户将鼠标指针移动到对象内时触发。
onmouseup 当用户在鼠标位于对象之上时释放鼠标按钮时触发。
onmousewheel 当鼠标滚轮按钮旋转时触发。
onmove 当对象移动时触发。
onmoveend 当对象停止移动时触发。
onmovestart 当对象开始移动时触发。
onpaste 当用户粘贴数据以便从系统剪贴板向文档传送数据时在目标对象上触发。
onpropertychange 当在对象上发生对象上发生属性更改时触发。
onreadystatechange 当对象状态变更时触发。
onresize 当对象的大小将要改变时触发。
onresizeend 当用户更改完控件选中区中对象的尺寸时触发。
onresizestart 当用户开始更改控件选中区中对象的尺寸时触发。
onselect 当当前选中区改变时触发。
onselectstart 对象将要被选中时触发。
ontimeerror 当特定时间错误发生时无条件触发,通常由将属性设置为无效值导致

Javascript 相关文章推荐
jquery 为a标签绑定click事件示例代码
Jun 23 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
分享Javascript实用方法二
Dec 13 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
分享5个好用的javascript文件上传插件
Sep 16 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
微信小程序实现选项卡滑动切换
Oct 22 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 Javascript
react 项目中引入图片的几种方式
Jun 02 Javascript
Jquery实现弹出层分享微博插件具备动画效果
Apr 03 #Javascript
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 #Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 #Javascript
如何使用jquery动态加载js,css文件实现代码
Apr 03 #Javascript
关于js注册事件的常用方法
Apr 03 #Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 #Javascript
JS模板实现方法
Apr 03 #Javascript
You might like
为PHP初学者的8点有效建议
2010/11/20 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
php jsonp单引号转义
2014/11/23 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
python3判断url链接是否为404的方法
2018/08/10 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
四种会话跟踪技术
2015/05/20 面试题
心得体会范文
2014/01/04 职场文书
小学运动会演讲稿
2014/08/25 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
zabbix监控mysql的实例方法
2021/06/02 MySQL
golang内置函数len的小技巧
2021/07/25 Golang
python3 字符串str和bytes相互转换
2022/03/23 Python