标签: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