首页 > 语言 > JavaScript > 正文

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

2024-05-06 14:18:58
字体:
来源:转载
供稿:网友
(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)常用事件(//www.Vevb.com/article/25583.htm)
oncut 事件在粘贴(ctrl + v)、鼠标粘贴时触发
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即触发。
onbeforeeditfocus 在包含于可编辑元素内的对象进入用户界面激活状态前或可编辑容器变成控件选中区前触发。
onbeforepaste 在选中区从系统剪贴板粘贴到文档前在目标对象上触发。
onbeforeupdate 当成功更新数据源对象中的关联对象前在数据绑定对象上触发。
onblur 在对象失去输入焦点时触发。
onchange 当对象或选中区的内容改变时触发。
onclick 在用户用鼠标左键单击对象时触发。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选