Puede utilizar uno de los complementos de marca de agua de jquery que hacen precisamente eso. Uso un complemento de marca de agua que tiene el siguiente código
$.fn.watermark = function (c, t) {
var e = function (e) {
var i = $(this);
if (!i.val()) {
var w = t || i.attr('title'), $c = $($("<div />").append(i.clone()).html().replace(/type=\"?password\"?/, 'type="text"')).val(w).addClass(c);
i.replaceWith($c);
$c.focus(function() {
$c.replaceWith(i); setTimeout(function() { i.focus(); }, 1);
})
.change(function (e) {
i.val($c.val()); $c.val(w); i.val() && $c.replaceWith(i);
})
.closest('form').submit(function() {
$c.replaceWith(i);
});
}
};
return $(this).live('blur change', e).change();
};
rescatable en jQuery mediante el establecimiento de la clase del cuadro de texto de entrada en Watermark como esto
<input type="text" id="keyword" name="keyword" class="watermark" style="width: 250px"
title="Type keyword here" />
El título es lo que se mostrará en la marca de agua.
El ejemplo también elimina el texto recién ingresado en el campo de entrada, que no es lo que desea. – webtweakers