jquery.placeholder.min.js 3.4 KB

1
  1. (function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&module.exports){a(require("jquery"))}else{a(jQuery)}}}(function(g){var n=false;var b=Object.prototype.toString.call(window.operamini)==="[object OperaMini]";var a="placeholder" in document.createElement("input")&&!b&&!n;var h="placeholder" in document.createElement("textarea")&&!b&&!n;var f=g.valHooks;var c=g.propHooks;var l;var k;var e={};if(a&&h){k=g.fn.placeholder=function(){return this};k.input=true;k.textarea=true}else{k=g.fn.placeholder=function(o){var p={customClass:"placeholder"};e=g.extend({},p,o);return this.filter((a?"textarea":":input")+"["+(n?"placeholder-x":"placeholder")+"]").not("."+e.customClass).not(":radio, :checkbox, :hidden").bind({"focus.placeholder":d,"blur.placeholder":i}).data("placeholder-enabled",true).trigger("blur.placeholder")};k.input=a;k.textarea=h;l={get:function(p){var o=g(p);var q=o.data("placeholder-password");if(q){return q[0].value}return o.data("placeholder-enabled")&&o.hasClass(e.customClass)?"":p.value},set:function(p,r){var o=g(p);var s;var q;if(r!==""){s=o.data("placeholder-textinput");q=o.data("placeholder-password");if(s){d.call(s[0],true,r)||(p.value=r);s[0].value=r}else{if(q){d.call(p,true,r)||(q[0].value=r);p.value=r}}}if(!o.data("placeholder-enabled")){p.value=r;return o}if(r===""){p.value=r;if(p!=m()){i.call(p)}}else{if(o.hasClass(e.customClass)){d.call(p)}p.value=r}return o}};if(!a){f.input=l;c.value=l}if(!h){f.textarea=l;c.value=l}g(function(){g(document).delegate("form","submit.placeholder",function(){var o=g("."+e.customClass,this).each(function(){d.call(this,true,"")});setTimeout(function(){o.each(i)},10)})});g(window).bind("beforeunload.placeholder",function(){var p=true;try{if(document.activeElement.toString()==="javascript:void(0)"){p=false}}catch(o){}if(p){g("."+e.customClass).each(function(){})}})}function j(p){var o={};var q=/^jQuery\d+$/;g.each(p.attributes,function(s,r){if(r.specified&&!q.test(r.name)){o[r.name]=r.value}});return o}function d(p,q){var o=this;var r=g(this);if(o.value===r.attr((n?"placeholder-x":"placeholder"))&&r.hasClass(e.customClass)){o.value="";r.removeClass(e.customClass);if(r.data("placeholder-password")){r=r.hide().nextAll('input[type="password"]:first').show().attr("id",r.removeAttr("id").data("placeholder-id"));if(p===true){r[0].value=q;return q}r.focus()}else{o==m()&&o.select()}}}function i(q){var u;var o=this;var t=g(this);var s=o.id;if(q&&q.type==="blur"&&t.hasClass(e.customClass)){return}if(o.value===""){if(o.type==="password"){if(!t.data("placeholder-textinput")){try{u=t.clone().prop({type:"text"})}catch(r){u=g("<input>").attr(g.extend(j(this),{type:"text"}))}u.removeAttr("name").data({"placeholder-enabled":true,"placeholder-password":t,"placeholder-id":s}).bind("focus.placeholder",d);t.data({"placeholder-textinput":u,"placeholder-id":s}).before(u)}o.value="";t=t.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",t.data("placeholder-id")).show()}else{var p=t.data("placeholder-password");if(p){p[0].value="";t.attr("id",t.data("placeholder-id")).show().nextAll('input[type="password"]:last').hide().removeAttr("id")}}t.addClass(e.customClass);t[0].value=t.attr((n?"placeholder-x":"placeholder"))}else{t.removeClass(e.customClass)}}function m(){try{return document.activeElement}catch(o){}}}));$(function(){$("input[placeholder], textarea[placeholder]").placeholder()});