This is a bug in Chrome's rendering of CSS transitions. But you can workaround it by forcing element "refresh" operation. Please note that you need to refresh not the input
element, but it's parent, so the following code will help you:
$(document).ready(function(){
$('#test').blur(function(){
$(this).parent().addClass('repaint');
});
$('#test').focus(function(){
$(this).parent().removeClass('repaint');
});
});
And repaint
class should have something related to parent's view, for example different color:
.repaint {
color: red;
}
But you may replace color
with visibility
or other view-related (but not important/visible for parent) attribute.
Here is jsfiddle to demonstrate the workaround