• input 原始版,后面修改


    (function($){
    function inputauto(obj){
    init={
    inputClass:".js_input",
    Password_tag:"Password",
    pswhtml:'<input class="input" type="text" value="" placeholder=""/>',
    pswClass:'addpsw',
    wrapClass:'psw_wrap',
    wrap:'<span></span>'
    }
    this.init=$.extend(init,obj);
    }

    inputauto.prototype={
    main:function(){
    var _this=this,i=this.init,
    initval='';

    $(i.inputClass).each(function(){

    initval=_this.getholder(this);
    _this.input_def(this,initval);
    })
    _this.focus();
    _this.blur();
    },
    focus:function(){
    var _this=this,i=this.init,$tempInput;
    $(i.inputClass).on("focus",function(){
    var init=$(this).attr("data-placeholder"),
    initusr="";

    if(_this.getholder(this)!=""){
    initusr=_this.getholder(this);
    }else{
    initusr=$(this).attr("data-placeholder-old");
    }

    if($(this).val()!="" && $(this).val()!=initusr && init!=i.Password_tag){//有新输入保存输入值
    $(this).attr("data-userval", $(this).val());
    };

    $(this).val("");
    $(this).attr('data-placeholder-old',initusr);

    if(_this.placeholder()){
    $(this).attr('placeholder','');
    }

    if(init==i.Password_tag) {
    if(_this.navie() && $(this).hasClass(i.pswClass)){//ie78 下替代pwd的txt元素
    var $prev=$(this).prev();
    var t=_this.getholder($prev[0]);
    var $tobj=$(this).prev();

    $tobj.show().val("").attr('data-placeholder-old',t);
    $(this).attr('data-placeholder-old',t).hide();
    $tobj.focus();

    }else{
    $(this).attr("type","password");
    }
    }//
    })
    },
    blur:function(){
    var _this=this,i=this.init;
    $(i.inputClass).on("blur",function(){
    var init=$(this).attr("data-placeholder"),
    holder=_this.getholder(this),
    initusr=$(this).attr("data-placeholder-old"),
    usrval=$(this).attr("data-userval");

    if($(this).val()==""&& (!(_this.navie()) || init!=i.Password_tag)){
    usrval?_this.input_def(this,usrval):_this.input_def(this,initusr);
    };

    if(init==i.Password_tag && ($(this).val()==""||$(this).val()==initusr)){//密码为空显示提示

    if(_this.navie() && !$(this).hasClass(i.pswClass)){//ie78 下pwd元素
    //alert(usrval)
    $(this).next().show().val(holder).end().hide();
    }else{
    $(this).attr("type","text");
    }
    }
    })
    },
    placeholder:function(){
    return 'placeholder' in document.createElement('input');
    },
    input_def:function(obj,init){
    var _this=this,i=this.init;
    $(obj).val("");
    if(!_this.placeholder()){
    $(obj).val(init);
    if($(obj).attr("type")=="password"){
    _this.chagetype(obj,init);
    }
    }else{
    $(obj).attr('placeholder',init);
    ($(obj).attr("type")=="password")? $(obj).val(""):$(obj).val(init);
    }
    },
    chagetype:function(obj,init){
    var _this=this,i=this.init;

    if(_this.navie()){
    if(!$(obj).parent().hasClass(i.wrapClass)){
    $(obj).wrap(i.wrap);
    $(obj).parent().addClass(i.wrapClass).append(i.pswhtml).end().next().addClass(i.pswClass).val(init).attr("id","psw_"+$(obj).attr("id")).attr("data-placeholder",i.Password_tag).end().hide();
    }
    }else{
    if($(obj).attr("type")=="password") $(obj).attr("type","text");
    }
    },
    navie:function(){
    if(navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE7.0" || navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE8.0")){
    return true;
    }else{
    return false;
    }
    },
    getholder:function(obj){
    var _this=this, initval="";
    if(!_this.placeholder()){
    initval=obj.attributes['placeholder'].nodeValue;
    }else{
    initval=$(obj).attr("placeholder");
    }
    return initval;
    }
    }

    var inputauto_inst=new inputauto({inputClass:".input"});
    inputauto_inst.main();

    })(jQuery);

  • 相关阅读:
    php4的一个创建xml的类
    ecshop在模板里调用广告位的代码
    文件导出dbf功能实现
    [转] 处事22计、心态24条、伤心50句、礼仪73、学会长大20!
    在线客服 qq,msn,skype, outlook 链接
    解决动网论坛Bug缺少对象: 'Application(...).documentElement.selectSingleNode(...)'
    创建一个SharePoint 样式(Creating a SharePoint Theme)
    Sharepoint Portal Services 2003开发环境
    [译]Hour 7 Teach.Yourself.WPF.in.24.Hours
    远程桌面连接无法最大化的解决办法
  • 原文地址:https://www.cnblogs.com/uh-huh/p/4325939.html
Copyright © 2020-2023  润新知