Why wouldn't you use the placeholder, attribute, then detect support, then use a fallback if needed... Something like:
function hasPlaceholder() {
var input = document.createElement('input');
return ('placeholder' in input);
}
should do the job to detect support.