<SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></SCRIPT>
<SCRIPT type=text/javascript>
$(document).ready(function () {
$('.remaining').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $count = $('.count', this);
var $input = $(this).prev();
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumCount = $count.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var now = maximumCount - $input.val().length;
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (now < 0) {
var str = $input.val();
$input.val(str.substr(0, maximumCount));
now = 0;
}
// 필요한 경우 DOM을 수정한다.
if (before != now) {
$count.text(now);
}
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup paste', function () { setTimeout(update, 0) });
update();
});
});
</SCRIPT>
<TEXTAREA></TEXTAREA>
<DIV class=remaining>남은 글자수: <SPAN class=count>300</SPAN></DIV>
'웹' 카테고리의 다른 글
DISQUS 소셜 댓글 달기 (1) | 2014.06.16 |
---|---|
그누보드 게시판 테이블 그리고 댓글 (0) | 2014.06.16 |
Trigger an Error - 오류 발생시키기 (0) | 2012.05.19 |
jQuery Mobile 페이지 이동 (1) | 2011.11.03 |
자바스크립트 레퍼런스 (0) | 2011.11.03 |