onchange 和 onpropertychange、onblur区别
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">
http://blog.csdn.net/dxef/archive/2007/03/23/4609952.aspx
按一般理解上的意义来说,onchange应该是在文本框里内容有变化时发现,就是每输入一个字符都应该触发一次,然而结果却表明IE是在输入时并没有触发,而是在input失去焦点时触发了onchange事件,“基本等同于”onblur事件,但onblur事件却没有这个BUG,说明IE对onchange支持有问题。
总结:
1、
对象的value属性被页面的脚本(js)修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。当对象首次的值(比如是2000)触发了onchange函数,然后又用js将其值清空(随便怎么改变),此时在输入2000时不能触发onchange函数了,应为他没法捕获到js对属性的修改,他记住的值还是2000 此时可以换用
onpropertychange函数
2、如果是js拼出的页面,则会一直循环不断的调用onpropertychange函数,麻烦 这时候就可以改用
onblur函数,每次失去焦点的时候判断,比onchange的时候多了,但不会有 上述的错误。
分享到:
相关推荐
NULL 博文链接:https://xuedong.iteye.com/blog/1144739
主要介绍了js中的onchange和onpropertychange (onchange无效的解决方法),需要的朋友可以过来参考下,希望对大家有所帮助
NULL 博文链接:https://669341085.iteye.com/blog/905300
oninput,onpropertychange,onchange的用法和区别
onpropertychange和onchange都不管文本框中的实际值有没有变,只要有改的相应操作就可能触发。有时当上面两时间都不能满足需求时,可以考虑只用onblur。 还有一点要注意到,当onblur和onchange事件一起用时,onblur...
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,...
需要了解的知识 首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获。 onchange在属性值改变时还必须使得当前元素失去焦点(onblur...
安装该模块后,对于有写onchange方法的字段,可以设置定时执行时间间隔。
文档中详细描述了easy-ui如何添加onchange,以及如何获取组合框当前选中值。压缩包中还包括了相关的easy-ui demo供大家使用。自己总结的跟大家分享下。
这是我自己总结出来easyui-textbox和easyui-combobox的onchange事件响应实例,绝对可用,网上很多实例都无法运行,这个我亲自测试可用使用才传上来的,供大家参考学习。
ckeditor onchange 事件插件
1.onchange 及其onpropertychange,oninput 在IE下可使用onpropertychangel立即触发监听, oninput 可以使用在FF下,但必须使用w3c推荐的addEventListener的方式来绑定事件. //www.jb51.net/article/25275.htm2. <...
对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。 具体理解为:onpropertychange能及时捕获属性值的变化,而onchange在属性值改变时只有通过鼠标执行某些操作才能激活该...
web前端小问题,select 选择事件,当选择select同一值触发onchange事件
ckEdiotr在IE下,change事件有时不触发。使用这个插件可以支持。
onpropertychange能够捕获每次输入值的变化。例如:对象的value值被改变时,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。
select id=”city” onchange=”[removed]test();”></select>中获取[removed]test();。 小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。 稍微懂点JQuery的...
js中onchange事件是在客户端改变输入控件的值,比如一个textbox,会出发的一个事件。但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。 那么,如何...