forked from marioestrada/jQuery-Watermark
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathjquery.watermark.min.js
12 lines (12 loc) · 3.16 KB
/
jquery.watermark.min.js
1
2
3
4
5
6
7
8
9
10
11
12
/*
* jQuery Watermark plugin
* Version 1.3.1 (23-MAR-2012)
* @requires jQuery v1.3 or later
*
* Examples at: http://mario.ec/static/jq-watermark/
* Copyright (c) 2010 Mario Estrada
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
*/
(function(e){var t=e.browser.msie&&(!document.documentMode||e.browser.version<8);var n=4;e.watermarker=function(){};e.extend(e.watermarker,{defaults:{color:"#999",left:0,top:0,fallback:false,animDuration:300,minOpacity:.6},setDefaults:function(t){e.extend(e.watermarker.defaults,t)},checkVal:function(t,n,r){if(t.length==0)e(n).show();else e(n).hide();return t.length>0},html5_support:function(){var e=document.createElement("input");return"placeholder"in e}});e.fn.watermark=function(r,i){var i,s;i=e.extend({},e.watermarker.defaults,i);s=this.filter("textarea, input:not(:checkbox,:radio,:file,:submit,:reset)");if(i.fallback&&e.watermarker.html5_support())return this;s.each(function(){var s,o,u,a,f;var l,c,h,p=0,d,v;s=e(this);if(s.attr("data-jq-watermark")=="processed")return;o=s.attr("placeholder")!=undefined&&s.attr("placeholder")!=""?"placeholder":"title";u=r===undefined||r===""?e(this).attr(o):r;a=e('<span class="watermark_container"></span>');f=e('<span class="watermark">'+u+"</span>");if(o=="placeholder")s.removeAttr("placeholder");a.css({display:"inline-block",position:"relative"});if(s.attr("data-percent-width")=="true")a.css("width","100%");if(s.attr("data-percent-height")=="true")a.css("height","100%");if(t){a.css({zoom:1,display:"inline"})}s.wrap(a).attr("data-jq-watermark","processed");if(this.nodeName.toLowerCase()=="textarea"){e_height=s.css("line-height");e_height=e_height==="normal"?parseInt(s.css("font-size")):e_height;p=s.css("padding-top")!="auto"?parseInt(s.css("padding-top")):0}else{e_height=s.outerHeight();if(e_height<=0){e_height=s.css("padding-top")!="auto"?parseInt(s.css("padding-top")):0;e_height+=s.css("padding-bottom")!="auto"?parseInt(s.css("padding-bottom")):0;e_height+=s.css("height")!="auto"?parseInt(s.css("height")):0}}p+=s.css("margin-top")!="auto"?parseInt(s.css("margin-top")):0;l=s.css("margin-left")!="auto"?parseInt(s.css("margin-left")):0;l+=s.css("padding-left")!="auto"?parseInt(s.css("padding-left")):0;f.css({position:"absolute",display:"block",fontFamily:s.css("font-family"),fontSize:s.css("font-size"),color:i.color,left:n+i.left+l,top:i.top+p,height:e_height,lineHeight:e_height+"px",textAlign:"left",pointerEvents:"none"}).data("jq_watermark_element",s);e.watermarker.checkVal(s.val(),f);f.click(function(){e(e(this).data("jq_watermark_element")).not("[readonly], [disabled]").filter(":visible").trigger("click").trigger("focus")});s.before(f).bind("focus.jq_watermark",function(){if(!e.watermarker.checkVal(e(this).val(),f))f.stop().fadeTo(i.animDuration,i.minOpacity)}).bind("blur.jq_watermark change.jq_watermark",function(){if(!e.watermarker.checkVal(e(this).val(),f))f.stop().fadeTo(i.animDuration,1)}).bind("keydown.jq_watermark, paste.jq_watermark",function(t){e(f).hide()}).bind("keyup.jq_watermark",function(t){e.watermarker.checkVal(e(this).val(),f)})});return this};e(function(){e(".jq_watermark").watermark();e("input[placeholder]:visible").watermark()})})(jQuery)