Я знаю, что пишу в старой теме; Тем не менее, я хотел бы поделиться своими двумя центами по этому поводу, поскольку это может помочь любому в будущем.
Недавно я работал над быстрой формой и хотел выделить все поля, на которые пользователь должен перейти, желтым, и, очевидно, вернуться к белому, когда фокус был потерян.
Не вдаваясь в код, так как я не работаю с ASP.NET, просто часть javascript ... что я сделал, чтобы исправить это, так это создал еще одно событие для onmousedown. Если у меня есть только раздел onfocus, мне придется дважды щелкнуть в раскрывающемся списке. Один раз, чтобы установить фокус, другой, чтобы щелкнуть и перечислить элементы. Добавив функцию onmousedown, он позволил моим изменениям цвета происходить при нажатии, а также вкладке или другой форме смещения фокуса.
Конечно, нет необходимости иметь коллегу, так как onblur позаботился об этом (аналог onfocus).