JQuery Cross Browser Placeholder

http://www.dte.web.id/search/label/Code%20Snippet?max-results=20

by Taufik Nurrohman

HTML

<textarea placeholder='Type something...' cols='50' rows='10'></textarea>
<br>
<input type='text' placeholder='Search...'>

CSS

input.blur,
textarea.blur {color:#bbb}

JavaScript

$('[placeholder]').each(function() {
    var plc = $(this).attr('placeholder');
    $(this).addClass('blur').removeAttr('placeholder').val(plc).on("focus blur", function(e) {
        // Add a `blur` class to fade the text color for the default placeholder text
        $(this)[(e.type == "blur" && (this.value === "" || this.value == plc)) ? "addClass" : "removeClass"]('blur');
        // Set the value to `plc` on blur if the element value is empty
        if (e.type == "blur" && this.value === "") $(this).val(plc);
        // Set the value to empty on focus if the element value is same with the default placeholder text
        if (e.type == "focus" && this.value == plc) $(this).val("");
    });
});