/ Published in: jQuery
URL: http://scott.sauyet.com/thoughts/archives/2007/03/31/overlabel-with-jquery/
- Use absolute positioning to place label over the text box
- Hide label except when JS is enabled
- Use jQuery to hide label when field receives focus
Expand |
Embed | Plain Text
$(document).ready(function() { $("#header .siteSearch label").addClass("overlabel"); $("label.overlabel").overlabel(); }); jQuery.fn.overlabel = function() { this.each(function(index) { var label = $(this); var field; var id = this.htmlFor || label.attr('for'); if (id && (field = document.getElementById(id))) { var control = $(field); label.addClass("overlabel-apply"); if (field.value !== '') { label.css("text-indent", "-1000px"); } control.focus(function () {label.css("text-indent", "-1000px");}).blur(function () { if (this.value === '') { label.css("text-indent", "0px"); } }); label.click(function() { var label = $(this); var field; var id = this.htmlFor || label.attr('for'); if (id && (field = document.getElementById(id))) { field.focus(); } }); } }); };
You need to login to post a comment.
