天天看点

select控件onchange事件的兼容性问题

html控件select的onchange事件可以处理当用鼠标改变select的值时要做的事情

但是我在做的时候发现在firefox下,用键盘上下来改变select值时不触发onchange事件,而必须要按回车键才可以,而ie和opera等都触发,哎呀我去,我本来以为可以做一个不用考虑浏览器兼容问题的web开发人员,也不用写css,这样可以将精力多放在后端php开发中,不过js还是碰到这样的问题。下面是解决方案

<select οnkeyup="this.blur();this.focus();" name="sel" οnchange="function()">
           

这样就可以实现在firefox中不触发onchange的但也可以用键盘操作的效果了。

实际功能就是响应键盘事件,然后让select控件失去焦点再获得焦点就可以了

亲测有效~

还有另外一个兼容性问题

Firefox中this.options.value失效

改为this.value即可。IE与FF都通过,在IE7及更高版本中,支持this.options.value