Nice approach, one thing — I noticed in Safari it’s not working with the timeout at 0, but it is at…
andy mccullough

Nuts! I do not know offhand, but I have some guesses. setTimeout just puts the execution of the function into a future main thread tick…it **should** be doing that. Maybe Safari processes the blur and focus in the same tick. That would be bizarre.