I know I'm posting on an old thread; however, I would like to share my two cents on this as it may assist anyone in the future.
I was recently working on a quick form and wanted to highlight all the fields that a user would go to with yellow, and obviously go back to white when the focus was lost.
Without going into code, since i'm not working with ASP.NET, just the javascript portion...what I did to remedy this was create another event for onmousedown. By just having the onfocus section it would result in me having to click twice into a drop-down box. Once to set the focus, another to click and list the items. By adding the onmousedown function, it then allowed my color changes to take place upon clicking as well as a tab or other form of focus shift.
Of course, there's no need to have a counterpart, as the onblur took care of it (the counterpart of onfocus).