标签:style blog http io os 使用 ar java sp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title></title> </head> <script language="JavaScript" type="text/javascript" src="jquery-1.3.1.min.js"></script> <!--inputTime.js 用到 jquery-position.js 组件--> <script language="JavaScript" type="text/javascript" src="inputTime.js"></script> <script language="JavaScript" type="text/javascript"> $(document).ready(function(){ bindInputTimeEvent('txt1') bindInputTimeEvent('txt2') }) </script> <body> 测试耗时输入框(最大小时数:99 最大分钟数:59) <br><br> 耗时1:<input id='txt1' type="text" value="00:00" maxlength=5/> 耗时2:<input id='txt2' type="text" value="00:00" maxlength=5/> </body> </html>
/** * @author 全冠清 */ $.fn.extend({ position:function( value ){ var elem = this[0]; if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) { if($.browser.msie){ var rng; if(elem.tagName == "TEXTAREA"){ rng = event.srcElement.createTextRange(); rng.moveToPoint(event.x,event.y); }else{ rng = document.selection.createRange(); } if( value === undefined ){ rng.moveStart("character",-event.srcElement.value.length); return rng.text.length; }else if(typeof value === "number" ){ var index=this.position(); index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index)) rng.select(); } }else{ if( value === undefined ){ return elem.selectionStart; }else if(typeof value === "number" ){ elem.selectionEnd = value; elem.selectionStart = value; } } }else{ if( value === undefined ) return undefined; } } }) /** * @author yzp */ // 绑定输入框事件 function bindInputTimeEvent(textid){ $('#'+textid).click(inputTimeClick) $('#'+textid).keydown(inputTimeKeydown) $('#'+textid).keyup(inputTimeKeyup) } // 点击输入框则回到第一个位置 function inputTimeClick(){ $(this).position(0); } /* * 按键的首个触发事件,此时的value 还是输入之前的 * 在keydown方法中 如果返回false 输入字符则不在文本框中显示 */ function inputTimeKeydown(e){ //alert(event.keyCode); //alert($(this).val()); // 字符超过5个就不能输入 var inputValue = $(this).val(); if(inputValue.length>5){ return false; } // 进行字符处理,自动更新时间 if ((e.keyCode>=48 && event.keyCode<=57) || (e.keyCode>=96 && event.keyCode<=105)){ //数字键不禁用 var inputValue = $(this).val(); var pos = $(this).position() var fontStr var tailStr if(pos==2){ fontStr = inputValue.substring(0,pos)+":"; pos ++; tailStr = inputValue.substring(pos+1,6); }else{ fontStr = inputValue.substring(0,pos); tailStr = inputValue.substring(pos+1,6); } if(pos==3){ if( (e.keyCode>=54 && e.keyCode<=57) || (e.keyCode>=102 && event.keyCode<=105)){ return false; } } $(this).val(fontStr + tailStr); //alert("pos:" + pos+ "fontStr:"+fontStr + " tailStr" +tailStr ) $(this).position(pos); if($(this).position()==5){ $(this).position(0); } } else if((e.keyCode>=37 && event.keyCode<40) || event.keyCode==9){ //方向键不禁用 }else{ //其它键禁用 return false; } } /* * 按键的第三个触发事件,此时的value是输入之后的 * */ function inputTimeKeyup(e){ if($(this).position()==5){ $(this).position(0); } }
标签:style blog http io os 使用 ar java sp
原文地址:http://blog.csdn.net/metecyu/article/details/39640909