I have a <select id="myselect" name="myselect" onChange="(myfunction();)">...</select> which works perfect in IE and Opera. The word “perfect” means the event fired when you change the values from the drop-list by mouse or by any of “Up”, “Down”, “PageUp”(not for Opera), “PageDown”(not for Opera), “Home” and “End” keys when select menu is active (blue). The problem appears when you test it using Firefox, 3.6.Xv. Nothing happens when you use “Up” and “Down”, but for mouse it still works.
Do you recommend to use onkeyup event? I’ve tried it, it “catches” up and down, but, IE appears to have both onChange and onkeyup event. But I need just one event.
How do people solve this issue?
Thank you.
I recommend that you keep using the
changeevent. The Firefox implementation makes lots of sense for keyboard users. If you tab to theselectelement and choose an entry using Up and Down keys (and you have to press them a lot for a lengthy list) you don’t want to trigger tons of actions on the web page. It is ok to have the action executed once you’ve selected the correct entry and moved on to something else.