diff --git a/jquery.watermark.js b/jquery.watermark.js index f46b8c9..bfb945e 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, { @@ -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()) @@ -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..86b4e60 100644 --- a/jquery.watermark.min.js +++ b/jquery.watermark.min.js @@ -9,4 +9,4 @@ * 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(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