/** * jQuery-Plugin "clearField" * * @version: 1.1, 04.12.2010 * * @author: Stijn Van Minnebruggen * stijn@donotfold.be * http://www.donotfold.be * * @example: $('selector').clearField(); * @example: $('selector').clearField({ blurClass: 'myBlurredClass', activeClass: 'myActiveClass' }); * */ (function($) { $.fn.clearField = function(settings) { /** * Settings * */ settings = jQuery.extend({ blurClass: 'clearFieldBlurred', activeClass: 'clearFieldActive', attribute: 'rel', value: '' }, settings); /** * loop each element * */ return $(this).each(function() { /** * Set element * */ var el = $(this); /** * Get starting value * */ settings.value = el.val(); /** * Add or get attribute * */ if(el.attr(settings.attribute) == undefined) { el.attr(settings.attribute, el.val()).addClass(settings.blurClass); } else { settings.value = el.attr(settings.attribute); } /** * Set focus action * */ el.focus(function() { if(el.val() == el.attr(settings.attribute)) { el.val('').removeClass(settings.blurClass).addClass(settings.activeClass); } }); /** * Set blur action * */ el.blur(function() { if(el.val() == '') { el.val(el.attr(settings.attribute)).removeClass(settings.activeClass).addClass(settings.blurClass); } }); }); }; })(jQuery);