TextField失去焦点时,应该触发change事件对吧,但我发现一个问题,当使用focus将光标定位到另一TextField时,之前的TextField并没有触发change事件,这是怎么回事?不知道大家有没有碰到这种情况,如何解决?(用鼠标点是正常的)
------解决方案--------------------
脚本触发的值变化,不会激活change事件。 就像下面的例子:
- JScript code
<script language="javascript" type="text/javascript"> window.setTimeout(function(){ document.getElementById("jia1").selectedIndex = 1; },2000); </script> <select id="jia1" onchange="alert('发生变化');"> <option>1111111111</option> <option>2222222222</option> <option>3333333333</option> </select>
------解决方案--------------------
再看看这个
- JScript code
<script language="javascript" type="text/javascript"> window.setTimeout(function(){ document.getElementById("jia1").selectedIndex = 1; },2000); </script> <select id="jia1" onpropertychange="alert('发生变化');"> <option>1111111111</option> <option>2222222222</option> <option>3333333333</option> </select>
------解决方案--------------------
- CSS code
如果要想让textField触发change事件,需要让textField的值发生变化。如果利用脚本修改textField的值 也不会触发change事件,如果是失去焦点触发事件,建议用blur。
------解决方案--------------------
IE下可以用onpropertychange事件代替onchange事件。没次改变值都会触发事件
如果要焦点移开时触发事件,请用onblur
------解决方案--------------------
就是让其它控件得到焦点。
------解决方案--------------------
你那个是值改变时才会触发的。
------解决方案--------------------
change 事件首先要是文本框中的值改变了。
blur 事件 只要光标离开就会触发
------解决方案--------------------
失去焦点应该是出发onblur事件吧!