JavaScript计算剩余输入字符差一个数,js字符统计
普通的 html 代码
[js]
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
var maxNum = 100;
$(document).ready(function() {
$('.counter').text(maxNum);
$('#status').bind({
keyup: function() {
var inputText = $(this).val();
var numChar = inputText.length;
var charRemain = maxNum - numChar;
if(numChar <= maxNum) {
$('.counter').text(charRemain);
}
else if(numChar > maxNum) {
//取消事件的默认动作
event.preventDefault();
//$(this).attr('readonly', 'readonly');
$(this).val(inputText.substring(0,100));
}
}
});
});
</script>
</head>
<body>
<textarea id="status" name="text" rows="10" cols="30"></textarea>
<div class="counter"></div>
</body>
</html>
[/js]
其中的知识点:event.preventDefault();
preventDefault() 方法
定义和用法
取消事件的默认动作。
语法
event.preventDefault()
说明
该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。