From f69779474770d86530d8c811fe3b6d206fc51054 Mon Sep 17 00:00:00 2001 From: Patrick Caldwell Date: Fri, 16 Nov 2012 09:34:16 -0500 Subject: [PATCH 1/3] IE 8 compatibility mode fix and added html5 attribute application to document ready. --- jquery.watermark.js | 7 +++++-- jquery.watermark.min.js | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jquery.watermark.js b/jquery.watermark.js index f46b8c9..8129bd1 100644 --- a/jquery.watermark.js +++ b/jquery.watermark.js @@ -11,7 +11,7 @@ */ (function ($) { - var old_ie = $.browser.msie && $.browser.version < 8; + var old_ie = $.browser.msie && (!document.documentMode || $.browser.version < 8); var hard_left = 4; $.watermarker = function () { }; $.extend($.watermarker, { @@ -120,7 +120,9 @@ $.watermarker.checkVal($elem.val(), watermark_label); watermark_label.click(function () { - $($(this).data('jq_watermark_element')).trigger('click').trigger('focus'); + $($(this).data('jq_watermark_element')) + .not('[readonly], [disabled]').filter(':visible') + .trigger('click').trigger('focus'); } ); @@ -146,5 +148,6 @@ $(function () { $('.jq_watermark').watermark(); + $('input[placeholder]:visible').watermark(); }) })(jQuery); \ No newline at end of file diff --git a/jquery.watermark.min.js b/jquery.watermark.min.js index aad5c32..95ac90e 100644 --- a/jquery.watermark.min.js +++ b/jquery.watermark.min.js @@ -9,4 +9,9 @@ * http://www.opensource.org/licenses/mit-license.php * */ -(function(a){var b=a.browser.msie&&a.browser.version<8,c=4;a.watermarker=function(){},a.extend(a.watermarker,{defaults:{color:"#999",left:0,top:0,fallback:!1,animDuration:300,minOpacity:.6},setDefaults:function(b){a.extend(a.watermarker.defaults,b)},checkVal:function(b,c,d){return b.length==0?a(c).show():a(c).hide(),b.length>0},html5_support:function(){var a=document.createElement("input");return"placeholder"in a}}),a.fn.watermark=function(d,e){var e,f;return e=a.extend(a.watermarker.defaults,e),f=this.filter("textarea, input:not(:checkbox,:radio,:file,:submit,:reset)"),e.fallback&&a.watermarker.html5_support()?this:(f.each(function(){var f,g,h,i,j,k,l,m,n=0,o,p;f=a(this);if(f.attr("data-jq-watermark")=="processed")return;g=f.attr("placeholder")!=undefined&&f.attr("placeholder")!=""?"placeholder":"title",h=d===undefined||d===""?a(this).attr(g):d,i=a(''),j=a(''+h+""),g=="placeholder"&&f.removeAttr("placeholder"),i.css({display:"inline-block",position:"relative"}),f.attr("data-percent-width")=="true"&&i.css("width","100%"),f.attr("data-percent-height")=="true"&&i.css("height","100%"),b&&i.css({zoom:1,display:"inline"}),f.wrap(i).attr("data-jq-watermark","processed"),this.nodeName.toLowerCase()=="textarea"?(e_height=f.css("line-height"),e_height=e_height==="normal"?parseInt(f.css("font-size")):e_height,n=f.css("padding-top")!="auto"?parseInt(f.css("padding-top")):0):(e_height=f.outerHeight(),e_height<=0&&(e_height=f.css("padding-top")!="auto"?parseInt(f.css("padding-top")):0,e_height+=f.css("padding-bottom")!="auto"?parseInt(f.css("padding-bottom")):0,e_height+=f.css("height")!="auto"?parseInt(f.css("height")):0)),n+=f.css("margin-top")!="auto"?parseInt(f.css("margin-top")):0,k=f.css("margin-left")!="auto"?parseInt(f.css("margin-left")):0,k+=f.css("padding-left")!="auto"?parseInt(f.css("padding-left")):0,j.css({position:"absolute",display:"block",fontFamily:f.css("font-family"),fontSize:f.css("font-size"),color:e.color,left:c+e.left+k,top:e.top+n,height:e_height,lineHeight:e_height+"px",textAlign:"left",pointerEvents:"none"}).data("jq_watermark_element",f),a.watermarker.checkVal(f.val(),j),j.click(function(){a(a(this).data("jq_watermark_element")).trigger("click").trigger("focus")}),f.before(j).bind("focus.jq_watermark",function(){a.watermarker.checkVal(a(this).val(),j)||j.stop().fadeTo(e.animDuration,e.minOpacity)}).bind("blur.jq_watermark change.jq_watermark",function(){a.watermarker.checkVal(a(this).val(),j)||j.stop().fadeTo(e.animDuration,1)}).bind("keydown.jq_watermark, paste.jq_watermark",function(b){a(j).hide()}).bind("keyup.jq_watermark",function(b){a.watermarker.checkVal(a(this).val(),j)})}),this)},a(function(){a(".jq_watermark").watermark()})})(jQuery) \ No newline at end of file +(function(b){var j=b.browser.msie&&8>b.browser.version;b.watermarker=function(){};b.extend(b.watermarker,{defaults:{color:"#999",left:0,top:0,fallback:!1,animDuration:300,minOpacity:0.6},setDefaults:function(e){b.extend(b.watermarker.defaults,e)},checkVal:function(e,c){0==e.length?b(c).show():b(c).hide();return 0'),d=b(''+h+""),"placeholder"==f&&a.removeAttr("placeholder"),g.css({display:"inline-block",position:"relative"}),"true"==a.attr("data-percent-width")&&g.css("width", +"100%"),"true"==a.attr("data-percent-height")&&g.css("height","100%"),j&&g.css({zoom:1,display:"inline"}),a.wrap(g).attr("data-jq-watermark","processed"),"textarea"==this.nodeName.toLowerCase()?(e_height=a.css("line-height"),e_height="normal"===e_height?parseInt(a.css("font-size")):e_height,i="auto"!=a.css("padding-top")?parseInt(a.css("padding-top")):0):(e_height=a.outerHeight(),0>=e_height&&(e_height="auto"!=a.css("padding-top")?parseInt(a.css("padding-top")):0,e_height+="auto"!=a.css("padding-bottom")? +parseInt(a.css("padding-bottom")):0,e_height+="auto"!=a.css("height")?parseInt(a.css("height")):0)),i+="auto"!=a.css("margin-top")?parseInt(a.css("margin-top")):0,f="auto"!=a.css("margin-left")?parseInt(a.css("margin-left")):0,f+="auto"!=a.css("padding-left")?parseInt(a.css("padding-left")):0,d.css({position:"absolute",display:"block",fontFamily:a.css("font-family"),fontSize:a.css("font-size"),color:c.color,left:4+c.left+f,top:c.top+i,height:e_height,lineHeight:e_height+"px",textAlign:"left",pointerEvents:"none"}).data("jq_watermark_element", +a),b.watermarker.checkVal(a.val(),d),d.click(function(){b(b(this).data("jq_watermark_element")).not("[readonly], [disabled]").filter(":visible").trigger("click").trigger("focus")}),a.before(d).bind("focus.jq_watermark",function(){b.watermarker.checkVal(b(this).val(),d)||d.stop().fadeTo(c.animDuration,c.minOpacity)}).bind("blur.jq_watermark change.jq_watermark",function(){b.watermarker.checkVal(b(this).val(),d)||d.stop().fadeTo(c.animDuration,1)}).bind("keydown.jq_watermark, paste.jq_watermark",function(){b(d).hide()}).bind("keyup.jq_watermark", +function(){b.watermarker.checkVal(b(this).val(),d)}))});return this};b(function(){b(".jq_watermark").watermark()})})(jQuery); \ No newline at end of file From 591bf25bdc1f712d0f758e66a7d40fa6fb36b39b Mon Sep 17 00:00:00 2001 From: Patrick Caldwell Date: Fri, 16 Nov 2012 09:38:17 -0500 Subject: [PATCH 2/3] extending empty object for applying options so we don't change the defaults. --- jquery.watermark.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jquery.watermark.js b/jquery.watermark.js index 8129bd1..bfb945e 100644 --- a/jquery.watermark.js +++ b/jquery.watermark.js @@ -42,7 +42,7 @@ $.fn.watermark = function (text, options) { var options, elems; - options = $.extend($.watermarker.defaults, options); + options = $.extend({}, $.watermarker.defaults, options); elems = this.filter('textarea, input:not(:checkbox,:radio,:file,:submit,:reset)'); if (options.fallback && $.watermarker.html5_support()) From 942b57162422857fb0f69db039a11b77bd6bef35 Mon Sep 17 00:00:00 2001 From: Patrick Caldwell Date: Fri, 16 Nov 2012 09:44:34 -0500 Subject: [PATCH 3/3] updated minified version. --- jquery.watermark.min.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/jquery.watermark.min.js b/jquery.watermark.min.js index 95ac90e..86b4e60 100644 --- a/jquery.watermark.min.js +++ b/jquery.watermark.min.js @@ -9,9 +9,4 @@ * http://www.opensource.org/licenses/mit-license.php * */ -(function(b){var j=b.browser.msie&&8>b.browser.version;b.watermarker=function(){};b.extend(b.watermarker,{defaults:{color:"#999",left:0,top:0,fallback:!1,animDuration:300,minOpacity:0.6},setDefaults:function(e){b.extend(b.watermarker.defaults,e)},checkVal:function(e,c){0==e.length?b(c).show():b(c).hide();return 0'),d=b(''+h+""),"placeholder"==f&&a.removeAttr("placeholder"),g.css({display:"inline-block",position:"relative"}),"true"==a.attr("data-percent-width")&&g.css("width", -"100%"),"true"==a.attr("data-percent-height")&&g.css("height","100%"),j&&g.css({zoom:1,display:"inline"}),a.wrap(g).attr("data-jq-watermark","processed"),"textarea"==this.nodeName.toLowerCase()?(e_height=a.css("line-height"),e_height="normal"===e_height?parseInt(a.css("font-size")):e_height,i="auto"!=a.css("padding-top")?parseInt(a.css("padding-top")):0):(e_height=a.outerHeight(),0>=e_height&&(e_height="auto"!=a.css("padding-top")?parseInt(a.css("padding-top")):0,e_height+="auto"!=a.css("padding-bottom")? -parseInt(a.css("padding-bottom")):0,e_height+="auto"!=a.css("height")?parseInt(a.css("height")):0)),i+="auto"!=a.css("margin-top")?parseInt(a.css("margin-top")):0,f="auto"!=a.css("margin-left")?parseInt(a.css("margin-left")):0,f+="auto"!=a.css("padding-left")?parseInt(a.css("padding-left")):0,d.css({position:"absolute",display:"block",fontFamily:a.css("font-family"),fontSize:a.css("font-size"),color:c.color,left:4+c.left+f,top:c.top+i,height:e_height,lineHeight:e_height+"px",textAlign:"left",pointerEvents:"none"}).data("jq_watermark_element", -a),b.watermarker.checkVal(a.val(),d),d.click(function(){b(b(this).data("jq_watermark_element")).not("[readonly], [disabled]").filter(":visible").trigger("click").trigger("focus")}),a.before(d).bind("focus.jq_watermark",function(){b.watermarker.checkVal(b(this).val(),d)||d.stop().fadeTo(c.animDuration,c.minOpacity)}).bind("blur.jq_watermark change.jq_watermark",function(){b.watermarker.checkVal(b(this).val(),d)||d.stop().fadeTo(c.animDuration,1)}).bind("keydown.jq_watermark, paste.jq_watermark",function(){b(d).hide()}).bind("keyup.jq_watermark", -function(){b.watermarker.checkVal(b(this).val(),d)}))});return this};b(function(){b(".jq_watermark").watermark()})})(jQuery); \ No newline at end of file +(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('');f=e(''+u+"");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) \ No newline at end of file