My solution, from nikmd23’s jQuery snippet but with the blur() function that seems to work better
$('input[readonly]').focus(function(){
this.blur();
});
Example here: http://jsfiddle.net/eAZa2/
Don’t use the attribute “disabled” because the input would not be submitted when it is part of a form
Sounds like a bug!
There is a similar bug (396542) open with Mozilla, saying that the cursor should blink in readonly
inputs — but that behavior feels wrong, a blinking cursor is supposed to mean, “you can type here.”
You should comment on that bug and/or file new ones (with Mozilla here and with Microsoft here)!
In the meantime, using disabled
or changing the behavior with JavaScript, as @nikmd23 suggested, seems like the best workaround.