이 효과는 함수에 통합되어 있습니다.
첫 번째는 텍스트 영역 또는 기타 텍스트 형식의 ID입니다.
두 번째는 비워 둘 수 있는 입력 콘텐츠의 ID입니다.
세 번째가 가장 많이 입력되는 문자로, 한자 하나가 2글자입니다.
이것은 단지 기본적인 효과일 뿐이며 학생들은 이를 최적화하고 개선할 수 있습니다.
코드를 얻으려면 데모 소스 파일을 확인하세요
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다 <script>
function lengthLimit(elem, showElem, max){
var elem = document.getElementById(elem);
var showElem = document.getElementById(showElem);
var max = max || 50;// 最大限度字符,汉字按两个字符计算
function getTextLength(str){// 获取字符串的长度 一个汉字为2个字符
return str.replace(/[^\x00-\xff]/g,"xx").length;
};
// 监听textarea的内容变化
if(/msie (\d+\.\d)/i.test(navigator.userAgent) == true) {// 区分IE
elem.onpropertychange = textChange;
}else{
elem.addEventListener("input", textChange, false);
}
function textChange(){// 内容变化时的处理
var text = elem.value;
var count = getTextLength(text);
if(count > max){// 文字超出截断
for(var i=0; i<text.length; i++){
if(getTextLength(text.substr(0, i)) >= max){
elem.value = text.substr(0, i);
if(showElem) showElem.innerHTML = elem.value;// 显示输出结果
break;
};
}
}else{
if(showElem) showElem.innerHTML = elem.value;// 显示输出结果
};
};
textChange();// 加载时先初始化
};
</script>]