javascript中手动onchange事件触发
触发onchange事件的问题,并不是值一旦更改就会触发onchange事件。
对于onBlur和onFocus可以直接调用object.Blur()和object.Focus(),但javascript中没有object.Change
事件。
object.fireEvent()可以触发事件,如触发onchange事件则是object.fireEvent('onchange'),以此类推。
例:
<SELECT id=select1 onchange="alert(this.value)">
<OPTION value="0">0</OPTION>
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
</SELECT>
<INPUT type="text" id=text1 name=text1>
<INPUT type="button" value="Button" onclick="select1.selectedIndex=text1.value">
手动改变select的值,会触发onchange
脚本改变selectedIndex,不会触发onchange
解决办法
if (select1.fireEvent)
select1.fireEvent("onchange")
else
select1.onchange()
本文介绍了如何在JavaScript中手动触发onchange事件。通常情况下,直接修改DOM元素的值并不会自动触发onchange事件,文章提供了使用object.fireEvent('onchange')的方法来解决这一问题。
539

被折叠的 条评论
为什么被折叠?



