日期:2014-05-16  浏览次数:20666 次

如何让TextField失去焦点?
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事件吧!