zoukankan      html  css  js  c++  java
  • android js 模拟键盘

    <HTML>
    <HEAD>
        <TITLE>键盘隐藏</TITLE>
        <script src="http://www.u160.com/Js/jquery-1.4.4.min.js" type="text/javascript"></script>
        <style>
    		input{ height:30px; line-height:30px; 160px; text-indent:0.4em}
        </style>
    </HEAD>
    <BODY style="background:#eee;">
        <input class="t1 imUn" type="text" value="123" />
    	<input class="t2 imUn" type="text" value="456" />
    	<hr />
    	<input class="t" type="text" value="888" />
    	<span>删除</span>
    	<div id="log" style="background:#fff;padding:5px;"></div>
        <script>
    
    		/*
    		$("#t").bind("focus",function(){
                //app.closeKey();
    			setTimeout(function(){
    				app.closeKey();
    			},10)
            });
    		*/
    		var kpObj=null;
    		function kpInput(v){
    			if(kpObj){
    				var o=kpObj;
    				var val=o.val();
    				((!val.replace("-","").length)||(kpObj[0].selectionStart==0 )) &&(v==".")&&(v="0.");//.替换成0.   val.indexOf(".")<0 && 
    				kpiget();
    				if(v=="-"||v=="0."){//只出现在最前方 或光标最前方
    					(!val.length)&&o.val(v)&& kpiset(-v.length);
    					(val.length)&&(val.indexOf(v)<0 && kpObj[0].selectionStart==0) && o.val(v+o.val()) && kpiset(-v.length);
    				}else
    					if(!isNaN(v)||v=="."){
    					   //o.val(val+""+v);
    					   kpInsert(v);
    					}else{
    					   if(v=="DEL"){
    							o.val(val.substr(0,val.length-1));
    					   }else
    							if(v=="完成"){
    								o.blur();
    							}
    					}
    				var l=o.val().length;
    				o.val()=="00" && 	o.val(0);//解决00开始
    				o.val(o.val().replace(".","$#$").replace(/./g,"").replace("$#$","."));//.只出现一次	
    				kpiset(l-o.val().length)				
    			}
    
    		}
    		
    		function kpInsert(t){
    			var i=kpObj[0].selectionStart;
    			var v=kpObj.val();
    			kpObj.val(v.substr(0,i)+t+v.substr(i,v.length-i));
    			kpi=i+1;
    		}
    
    		var kpi=0;
    		function kpiget(){
    			kpi=kpObj[0].selectionStart;
    		}
    
    		function kpiset(val){
    			kpObj[0].selectionStart=kpi-val;
    			kpObj[0].selectionEnd=kpi-val;	
    			kpi=kpi-val;
    		}
    		
    		var isbs=false
    		function kpBackSpace(){
    			if(isbs) return;
    			isbs=true;
    			var o=kpObj[0];
    			if(o){
    				var i=o.selectionStart;//非IE
    				$(o).val($(o).val().substr(0,i-1)+$(o).val().substr(i,$(o).val().length-i));
    				o.selectionStart=i-1;
    				o.selectionEnd=i-1;
    			}
    			isbs=false;
    		}
    		
    		function log(txt){
    			$("#log").html($("#log").html()+"<br />"+txt);
    		}
    		
    		$(".imUn").live("focus",function(){
    			kpObj=$(this);
    			app.keybHide();
    		}).live("blur",function(){
    			objKeypad=null;
    			app.keybShow();
    			var v=$(this).val()
    			.replace(/[^d.-]/g,"")//去掉非.-数字
    			.replace(/^[0.-]{1,}$/g,"0");//-0.000 替换成0 
    			v.length && (v=v.substr(0,1)+v.substr(1).replace(/-/g,"")); //去除不在最前面的-
    
    			v!=""
    			&&(v=Number(v.replace(".","$#$").replace(/./g,"").replace("$#$",".")));
    			$(this).val(v);
    			
    		})
    		
    		$("span").click(function(){
    		$(".t2").remove();
    		}
    			
    		);
        </script>
    </BODY>
    </HTML>
    

      

    <HTML>
    <HEAD>
        <TITLE>键盘隐藏</TITLE>
        <script src="http://www.u160.com/Js/jquery-1.4.4.min.js" type="text/javascript"></script>
        <style>
    		input{ height:30px; line-height:30px; 160px; text-indent:0.4em}
        </style>
    </HEAD>
    <BODY style="background:#eee;">
        <input class="t1 imUn" type="text" value="123" />
    	<input class="t2 imUn" type="text" value="456" readonly="readonly" />
    	<hr />
    	<input class="t" type="text" value="888" />
    	<div id="log" style="background:#fff;padding:5px;"></div>
    	<div style="height:30px; line-height:30px; background#fefefe; position:absolute;bottom:0;">bottom</div>
        <script>
    
    
    		
    		var keypad={
    			obj:null,
    			ki:0,//光标位置
    			kiGet:function(){
    				this.ki=this.obj[0].selectionStart;
    			},
    			kiSet:function(i){
    				this.ki=this.ki-i;
    				this.obj[0].selectionStart=this.ki;
    				this.obj[0].selectionEnd=this.ki;	
    			},
    			insert:function(t){
    				var i=this.obj[0].selectionStart;
    				var v=this.obj.val();
    				this.obj.val(v.substr(0,i)+t+v.substr(i,v.length-i));
    				this.ki=i+1;
    			},
    			back:function(){
    				var o=this.obj[0];
    				if(o){
    					var i=o.selectionStart;//非IE
    					$(o).val($(o).val().substr(0,i-1)+$(o).val().substr(i,$(o).val().length-i));
    					o.selectionStart=i-1;
    					o.selectionEnd=i-1;
    				}
    			},
    			input:function(v){
    				var o=this.obj;
    				if(o){
    					log("1");
    					var val=o.val();
    					((!val.replace("-","").length)||(o[0].selectionStart==0 )) &&(v==".")&&(v="0.");//.替换成0.   val.indexOf(".")<0 && 
    					log("2");
    					this.kiGet();
    					if(v=="-"||v=="0."){//只出现在最前方 或光标最前方
    						log("3");
    						(!val.length)&&o.val(v)&& this.kiSet(-v.length);
    						(val.length)&&(val.indexOf(v)<0 && o[0].selectionStart==0) && o.val(v+o.val()) && this.kiSet(-v.length);
    					}else
    						if(!isNaN(v)||v=="."){
    						   log("04");
    						   this.insert(v);
    						   log("05");
    						}else{
    						   if(v=="DEL"){
    								o.val(val.substr(0,val.length-1));
    						   }else
    								if(v=="完成"){
    									o.blur();
    								}
    						}
    					log("6");
    					var l=o.val().length;
    					o.val()=="00" && 	o.val(0);//解决00开始
    					o.val(o.val().replace(".","$#$").replace(/./g,"").replace("$#$","."));//.只出现一次	
    					this.kiSet(l-o.val().length)				
    				}
    			}
    		}
    
    		function log(txt){
    			android&&android.webLog(txt);
    			//$("#log").html($("#log").html()+txt);//+"<br />"
    		}
    		
    		$(".imUn").live("focus",function(){
    			keypad.obj=$(this);
    			android.keybHide();
    		}).live("blur",function(){
    			log("blur");
    			keypad.obj=null;
    			android.keybShow();
    			var v=$(this).val()
    			.replace(/[^d.-]/g,"")//去掉非.-数字
    			.replace(/^[0.-]{1,}$/g,"0");//-0.000 替换成0 
    			v.length && (v=v.substr(0,1)+v.substr(1).replace(/-/g,"")); //去除不在最前面的-
    
    			v!=""
    			&&(v=Number(v.replace(".","$#$").replace(/./g,"").replace("$#$",".")));
    			$(this).val(v);
    			
    		})
    		
    		
    		$(function(){
    			alert(0;)
    		})
    		
    		
    
        </script>
    </BODY>
    </HTML>
    

      

    <HTML>
    <HEAD>
        <TITLE>键盘隐藏</TITLE>
        <script src="http://www.u160.com/Js/jquery-1.4.4.min.js" type="text/javascript"></script>
        <style>
    		input[type=text]{ height:30px; line-height:30px; 160px; text-indent:0.4em}
    		input[type=button]{ height:30px; line-height:30px;}
        </style>
    </HEAD>
    <BODY style="background:#eee;">
        <input class="t1 imUn" type="text" value="123" />
    	<input class="tt" type="button" value="处理" />
    	<script>
    		$(".tt").click(function(){
    		
    			//$(".t1").val($(".t1").val().replace(/[^d.-]/g,""));
    			
    			//去掉结尾
    			//$(".t1").val($(".t1").val().replace(/.$/g,""));
    			
    			//去开头的0
    			//$(".t1").val($(".t1").val().replace(/^0*./g,"")); //n0.替换掉0
    			
    			//$(".t1").val($(".t1").val().replace(/^./g,"0."));
    			
    			
    			//alert((/^[0.-]{1,}$/g).test($(".t1").val()));
    			
    
    			
    			var v=$(".t1").val()
    			.replace(/[^d.-]/g,"")//去掉非.-数字
    			.replace(/^[0.-]{1,}$/g,"0");//-0.000 替换成0 
    			v.length && (v=v.substr(0,1)+v.substr(1).replace(/-/g,"")); //去除不在最前面的-
    
    			v!=""
    			&&(v=Number(v.replace(".","$#$").replace(/./g,"").replace("$#$",".")));
    			$(".t1").val(v);
    			
    			/*
    						v!="0" 
    			&&(
    				v=v
    				.replace(/.$/g,"")//去掉末尾的. 
    				.replace(/^0{1,}./g,".")//先替换n0.的 
    				.replace(/^0{1,}/g,"")//再替换开头为n个0(不然 0. 变成 .开头)  
    				.replace(/^./g,"0.")//修复.为0.  			
    			)
    			
    			
    			var v=$(".t1").val();
    			v=v.replace(v.substr(1),v.replace(/-/g,""))
    			$(".t1").val(v);
    			*/
    			
    			
    		});
    	</script>
    </BODY>
    </HTML>
    

      

  • 相关阅读:
    错误日志记录代码
    将数组转换成datatable
    C#类头注释
    判断当前页面是否接收到了Get或者Post请求
    HttpRequestUtil类
    WeChatUtil类
    返回上一页
    更改同步异步
    限制只能输入数字
    判断浏览器及版本
  • 原文地址:https://www.cnblogs.com/hack0573/p/5661129.html
Copyright © 2011-2022 走看看