[자바스크립트] TEXTAREA 라인수 제한 및 복사, 붙여넣기 금지

2014. 6. 26. 18:17IT/Web-JavaScript

소스만 간략히 공유합니다.


1
2
3
4
5
6
7
8
9
10
11
    // TEXTAREA 라인수 제한
    function fn_TextAreaLineLimit() {
        var tempText = $("textarea[name='reportCn']").val();
        var lineSplit = tempText.split("\n");                //
        
        // 최대라인수 제어
        if(lineSplit.length > 8 && event.keyCode == 13) {
            alert("8줄까지만 입력해 주십시오.");
            event.returnValue = false;
        }
    }


이 소스의 단점은 붙여넣기(Ctrl + V)시 체크를 할 수 없다는 것입니다.


그래서 구글링을 해봤더니 HTML 객체들에 대한 복사, 잘라내기, 붙여넣기 등을 제어할 수 있는 기능을 찾았습니다.

이 부분은 적절하게 수정해서 적용하시면 되겠습니다.


1
2
3
4
5
6
7
    $(document).ready(function(){
        $(document).keydown(function(event) {
            if (event.ctrlKey==true && (event.which == '118' || event.which == '86')) {
                event.preventDefault();
             }
        });
    });    


구동되는 방식은 document객체 안에서 keydown 이벤트가 일어날 때 특정 키가 눌릴 때마다 이벤트를 방지하는 것입니다.


사용은 

1
2
  onkeydown="javascript:fn_TextAreaLineLimit();"
  onblur="javascript:fn_TextAreaLineLimit();"


onkeydown 및 onblur 이벤트로 사용하였습니다.