[JAVASCRIPT]복사, 붙여넣기 막기

박상수
2 min readJun 25, 2018

--

ctrl+c, ctrl+v ,shift+insert, contextmenu, mouse right prevent

간혹 작업간에 복사 붙여넣기 기능을 막아달라는 요청이 들어올때가 있다.
매번 찾아보기 귀찮아서 정리하도록 하겠다.

붙여넣기 방법?

  • ctrl +c, v
  • shift + insert
  • contextmenu 버튼을 이용
  • 마우스 우클릭 이용

구현

마우스의 경우는 mousedown 이벤트를 이용하여 제어를 할 수 있다.

keyboard도 keydown 이벤트를 이용하여 키보드의 ascii code값을 전달 받으면 되는데, IE의 경우는 keyCode라는 property를 이용하여 값을 전달하고 나머지는 which라는 프로퍼티를 사용한다.

코드

<script> //jquery 사용$(function(){
var failMessage = function(){
return alert("붙여넣기 기능은 사용하실 수 없습니다."), false;
},
preventEvent = {
"keydown" : function(e) {
var keycode = function(e){
return ('which' in e ? e.which : e.keyCode)
}(e),
ctrl_cv = (e.ctrlKey && (keycode == 118 || keycode == 86)),
shift_insert = (e.shiftKey && keycode == 45);
if (ctrl_cv || shift_insert){
return failMessage();
}
}
,"mousedown" : function(e) {
var rightClick = (e.button == 2);
if(rightClick){
return failMessage();
}
}
,"contextmenu" : function(e) {
return failMessage();
}
};
$(document).bind(preventEvent);}());</script>

참고

--

--

No responses yet