-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.replaceOlder.min.js
8 lines (8 loc) · 3.27 KB
/
jquery.replaceOlder.min.js
1
2
3
4
5
6
7
8
// jQuery Replace Older | (c) 2014 vinicius-stutz.com | jquery.org/license
(function(window,document,$){var campoSuportado="placeholder"in document.createElement("input"),textAreaSuportado="placeholder"in document.createElement("textarea"),jQueryRegEx=/^jQuery\d+$/,prototype=$.fn,valor=$.valHooks,propriedade=$.propHooks,ganchos,rOlder,campo,novosAtr,id,$element,$input,$inputs,$passwordInput,$subs,$this;if(campoSuportado&&textAreaSuportado){rOlder=prototype.rOlder=function(){return this};rOlder.input=rOlder.textarea=true}else{rOlder=prototype.rOlder=function(){$this=this;
$this.filter((campoSuportado?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":limparPlaceHolder,"blur.placeholder":criarPlaceHolder}).data("placeholder-enabled",true).trigger("blur.placeholder");return $this};rOlder.input=campoSuportado;rOlder.textarea=textAreaSuportado;ganchos={"get":function(element){$element=$(element);$passwordInput=$element.data("placeholder-password");if($passwordInput)return $passwordInput[0].value;return $element.data("placeholder-enabled")&&
$element.hasClass("placeholder")?"":element.value},"set":function(element,value){$element=$(element);$passwordInput=$element.data("placeholder-password");if($passwordInput)return $passwordInput[0].value=value;if(!$element.data("placeholder-enabled"))return element.value=value;if(value==""){element.value=value;if(element!=document.activeElement)criarPlaceHolder.call(element)}else if($element.hasClass("placeholder"))limparPlaceHolder.call(element,true,value)||(element.value=value);else element.value=
value;return $element}};if(!campoSuportado){valor.input=ganchos;propriedade.value=ganchos}if(!textAreaSuportado){valor.textarea=ganchos;propriedade.value=ganchos}$(function(){$(document).delegate("form","submit.placeholder",function(){$inputs=$(".placeholder",this).each(limparPlaceHolder);setTimeout(function(){$inputs.each(criarPlaceHolder)},10)})});$(window).bind("beforeunload.placeholder",function(){$(".placeholder").each(function(){this.value=""})})}function getNovoAtr(elem){novosAtr={};$.each(elem.attributes,
function(i,attr){if(attr.specified&&!jQueryRegEx.test(attr.name))novosAtr[attr.name]=attr.value});return novosAtr}function limparPlaceHolder(event,value){campo=this;$input=$(campo);if(campo.value==$input.attr("placeholder")&&$input.hasClass("placeholder"))if($input.data("placeholder-password")){$input=$input.hide().next().show().attr("id",$input.removeAttr("id").data("placeholder-id"));if(event===true)return $input[0].value=value;$input.focus()}else{campo.value="";$input.removeClass("placeholder");
campo==document.activeElement&&campo.select()}}function criarPlaceHolder(){campo=this;$input=$(campo);id=this.id;if(campo.value==""){if(campo.type=="password"){if(!$input.data("placeholder-textinput")){try{$subs=$input.clone().attr({"type":"text"})}catch(e){$subs=$("<input>").attr($.extend(getNovoAtr(this),{"type":"text"}))}$subs.removeAttr("name").data({"placeholder-password":$input,"placeholder-id":id}).bind("focus.placeholder",limparPlaceHolder);$input.data({"placeholder-textinput":$subs,"placeholder-id":id}).before($subs)}$input=
$input.removeAttr("id").hide().prev().attr("id",id).show()}$input.addClass("placeholder");$input[0].value=$input.attr("placeholder")}else $input.removeClass("placeholder")}})(this,document,jQuery);