This is basically what I did. I used focusout on a different class but basically the same thing.
One thing that worries me is that usig blur and focusout can cause a race condition if the user clicks on submit. For example, say onblur some data structure needs to get updated but the same click that causes the blur also causes the submit. In that case sometimes the data structure will get updated in time and sometimes it won't.
The only solution I have found for this is setTimeout :(