当我们改变下拉列表框(select)的选择时,会触发 onchange 事件,在 IE 中的表现大家都猜得到,但在 FF 中就比较出乎我们的意料了。
本文不作探讨过程,只给出结果,以展示什么情况下会触发 onchange 事件。
定义:
size-下拉列表框(select)的 size 属性值。
multiple-下拉列表框(select)的 multiple 属性值,表示是否多选。
1. 只有一个选项(option)的情况下
1.1. size=1 且 multiple 为 false
均不会触发 onchange,不过在 IE 中,如果事先将 selectedIndex 设为 -1,则在第一次选择时会触发。
1.2. size>1 或 multiple 为 true
只在第一次选择时触发。
2. 拥有多个选项(option)的情况下
2.1. size=1 且 multiple 为 false
IE 次次触发,不过在 FF 中,如果所作的第一个选择是第一项,则该操作不会触发 onchange。
2.2. size>1 或 multiple 为 true
均次次触发。
NS、Opera 和 IE 相同,另外要说明,通过 JavaScript 改变选择时,均不触发 onchange。
相关阅读: