js中的onchange和onpropertychange (onchange无效的解决方法)


Posted in Javascript onMarch 08, 2014

笔者注:今天我在用到onchange事件时没有任何反应,最后翻查资料才知道Onchange的局限性和不稳定性。而onpropertychange却能很好的实现尤其是它的实时捕捉性能更是很值得用一下(幸亏有这个性能,做出的东西老板娘很满意 o(∩_∩)o...)。

本人也比较懒,自己做的东西也懒的整理下来只能把搜索到的资料原版拿来个大家分享一下:

IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来捕获。例如一个

<input name="text1" id="text1" />

对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。(是实时性捕捉到的

也就是说onpropertychange能及时捕获属性值的变化,而onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件!

如:

例1:

请输入图片地址: <input type="text" name="mytext" size="10" value="" onpropertychange="document.images['myimg'].src=this.value;" /> <img id="myimg" src="/img/common/logo.gif" alt="" />

当text框中的内容被改变时,图片就会立刻被显示出来。而如果用onchange时,改变其值时还需用鼠标单击空白或其他地方使input元素失去焦点(onblur)才能激活该事件,图片显示才会被改变!

例2:

<INPUT id="image" style="WIDTH: 448px; HEIGHT: 22px"     onpropertychange="preview.src=image.value" type="file" size="55" name="File1" runat="server">

<IMG id="preview" height="170" alt="" src="" width="256">

----------------------------------------------------------------

onpropertychange事件太可爱了,我对它一见钟情

onChange:当前元素失去焦点并且元素的内容发生改变而触发的事件 [鼠标与键盘的触发均可]

所以说当对象的value被脚本改变时不会触发onChange事件,因为用户即没有动鼠标又没动键盘.

Javascript 相关文章推荐
JS继承--原型链继承和类式继承
Apr 08 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
Jun 08 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
Jul 17 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
Jul 05 Javascript
微信小程序云开发之模拟后台增删改查
May 16 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
Nov 14 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 Javascript
JavaScript与JQuery框架基础入门教程
Jul 15 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 #Javascript
js触发onchange事件的方法说明
Mar 08 #Javascript
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 #Javascript
javascript中的事件代理初探
Mar 08 #Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
Mar 08 #Javascript
Extjs表单常见验证小结
Mar 07 #Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 #Javascript
You might like
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
js+html实现点名系统功能
2019/11/05 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
python合并文本文件示例
2014/02/07 Python
python简单实现刷新智联简历
2016/03/30 Python
Python 多线程实例详解
2017/03/25 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
硕士研究生个人求职信
2013/12/04 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书