一个input域已经写了onchange时间但是动态赋值的时候并没有出发时间需要手动调用


xxx.fireEvent('onchange')



javascript中手动onchange事件触发
触发onchange事件的问题,并不是值一旦更改就会触发onchange事件。
对于onBlur和onFocus可以直接调用object.Blur()和object.Focus(),但javascript中没有object.Change
事件。
object.fireEvent()可以触发事件,如触发onchange事件则是object.fireEvent('onchange'),以此类推。

例:
  <SELECT   id=select1     οnchange="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"   οnclick="select1.selectedIndex=text1.value"> 
  手动改变select的值,会触发onchange  
  脚本改变selectedIndex,不会触发onchange
解决办法
if   (select1.fireEvent)  
      select1.fireEvent("onchange")  
  else  
      select1.onchange()

posted @ 2017-11-17 10:33  larry_zhu  阅读(58)  评论(0)    收藏  举报