- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oninputonpropertychangeonchange的用法及区别.
1、前言
??? 由于工作需要,需实现一个类似于微博输入框的功能,在用户动态输入文字的时候,修改提示“您还可以输入XX字”。如下图所示:
??
因此,稍微研究了一下oninput,onpropertychange,onchange的区别和用法,以及onpropertychange在ie浏览器下的一个bug。
?
2、oninput,onpropertychange,onchange的用法
?????????? onchange触发事件必须满足两个条件:
a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur);
?????????? onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的;
?????????? oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。
?
在textarea中,如果想捕获用户的键盘输入,用onkeyup检查事件就可以了,但是onkeyup并不支持复制和粘贴,因此需要动态监测textarea中值的变化,这就需要onpropertychange(用在IE浏览器)和oninput(非IE浏览器)结合在一起使用了。
?
3、代码实现:
?
第一种方法是直接写入textarea的onpropertychange和oninput属性
view plaincopy to clipboardprint?
textarea?id=wb_comment_content?name=wb_comment_content?onblur=blur_wb_textarea(this);?onfocus=click_wb_textarea(this);?onpropertychange=set_alert_wb_comment();?oninput=set_alert_wb_comment();?class=gary666?style=font-size:12px;?mce_style=font-size:12px;欢迎您每天来微评爱车哦……??
?
如果想要用JavaScript设置textarea的属性,需如下:
view plaincopy to clipboardprint?
if(isIE)??
{??
????document.getElementById(wb_comment_content).onpropertychange?=?set_alert_wb_comment();??
}??
else?//需要用addEventListener来注册事件 ??
{??
????document.getElementById(wb_comment_content).addEventListener(input,?set_alert_wb_comment,?false);??
}??
?
其余函数
?
view plaincopy to clipboardprint?
function?click_wb_textarea(obj)??
??
{??
??
????if(obj.value==obj.defaultValue)??
??
????{??
??
????????obj.value=;??
??
????}??
??
????//obj.className=;???????//这样设置类名在ie下会有在输入第一个字符的时候onpropertychange不会触发的bug ??
??
????obj.style.color=#000;??
??
????return?false;??
??
}??
??
function?blur_wb_textarea(obj)??
??
{??
??
????if(obj.value==)??
??
????{??
??
????????//obj.className=gary666; ??
??
????????obj.style.color=#666;??
??
????????obj.value=?obj.defaultValue;??
??
????}??
??
????return?false;??
??
}??
??
?
4、onpropertychange的bug
??? 在代码实现时,发现在响应用户onclick了textarea时,如果使用obj.className=XX;来改变textarea输入框中字体的样式,会导致在ie下会有在输入第一个字符的时候onpropertychange不会触发的bug,因此需
您可能关注的文档
- HC交换机端口配置.doc
- HDL6漏电保护器功能和用途.doc
- HF—XBJK2000G光伏箱变监控装置.doc
- HE切片规范化操作.doc
- hadoop开发培训之国外、国内Hadoop的应用现状—北京尚学堂.doc
- HAIP异常导致RAC节点无法启动解决方案.docx
- HGE是1个硬件加速(Hardwareaccelerated)的2D游戏.doc
- HH—3—08—07B5印刷及后工序标准损耗规定2012—9—25.doc
- Hitachi—SU6600FESEM设备简介.doc
- HillstoneFTP端口映射简要配置指导2.doc
- Oracle9i数据库服务器有6种启动方式.doc
- OracleEnterpriseManager—表空间、用户、角色、权限等设置.doc
- ORGNITU自然肌理和(DARPHIN)迪梵品牌介绍.doc
- OriginPro安装方法.doc
- Origin中在同1坐标轴拟合多条直线的方法.docx
- Outlook电子邮箱账户设置方法(POP、STMP)以网易邮箱账户设置为例1定记得在服务器上保存副本.doc
- outlook提示pst文件损坏无法正常启动修复方法.doc
- P2P圈牛人录第1期:专访某聚财CEO许总.docx
- p2p网贷平台及担保公司之间的爱恨情仇.docx
- P2P网贷投资三大技巧和常识.docx
文档评论(0)