<input type="time">
如果你希望避免的jQuery,只是用這個簡單的代碼是不是在Firefox等 支持,其中的「:」將在使用KEYUP事件 -
<html>
<head>
<script type="text/javascript">
function insertColon(e){
var unicode=e.keyCode? e.keyCode : e.charCode
if(unicode!=8){// this avoids backspace to spoil your logic
var textval=document.getElementById("time").value;
if(textval.length==3&&textval.charAt(1)!=":"&&textval.charAt(2)!=":"){// this case arises when backspace is used
textval=textval.substring(0,2)+":"+textval.substring(2,3);
document.getElementById("time").value=textval;
}
else if(textval.length==2&&textval.charAt(1)!=":"){// normal case
textval=textval+":";
document.getElementById("time").value=textval;
}
}
else if(unicode==46&&textval.length>=3&&textval.charAt(1)!=":"&&textval.charAt(2)!=":"){
textval=textval.substring(0,2)+":"+textval.substring(2);`document.getElementById("time").value=textval;`
}
}
</script>
</head>
<body>
<input type="text" name="time" id="time" placeholder="00:00" maxlength="5" value="" onKeyup="insertColon(event);">
</body>
</html>
打字本身的時間插入
您可以自己添加一些小腳本代碼來檢查小時和分鐘的範圍是否落入範圍內。
爲什麼不使用''? – j08691 2015-03-13 14:46:42
http://jsfiddle.net/6rajxg5a/您還將處理粘貼事件。 – dfsq 2015-03-13 14:53:18
感謝您的幫助dfsq! :) j08691:因爲兼容性原因,我沒有使用type = time,所以它不適用於IE和FF,不幸的是... – Snipchain 2015-03-13 15:04:42