자바스크립트에서 마우스 오른쪽 단추로 클릭하는 컨텍스트 메뉴를 비활성화하는 방법
'View Source'나 그런 바보 같은 것을 막으려는 것이 아니라 특정 요소에 대한 맞춤형 컨텍스트 메뉴를 만들고 있습니다.
EDIT: 답변: 시도해 본 적이 있습니다.
<a id="moo" href=''> </a>
<script type="text/javascript">
var moo = document.getElementById('moo');
function handler(event) {
event = event || window.event;
if (event.stopPropagation)
event.stopPropagation();
event.cancelBubble = true;
return false;
}
moo.innerHTML = 'right-click here';
moo.onclick = handler;
moo.onmousedown = handler;
moo.onmouseup = handler;
</script>
우클릭을 시도할 때마다 메시지를 사용자에게 알리는 것을 신경 쓰지 않는다면, 이 메시지를 신체 태그에 추가해 보십시오.
<body oncontextmenu="return false;">
마우스 오른쪽 버튼뿐만 아니라 키보드에서도 상황에 맞는 메뉴에 대한 모든 액세스가 차단됩니다.
그러나 오른쪽 클릭 비활성화를 추가하는 것은 의미가 없습니다.기본적인 브라우저 지식을 가진 누구나 소스를 보고 필요한 정보를 추출할 수 있습니다.
캡처.onContextMenu
event, 그리고 event handler에서 false로 반환합니다.
클릭 이벤트를 캡처하고 어떤 마우스 버튼으로 이벤트를 시작했는지 확인할 수도 있습니다.event.button
, 어쨌든 몇몇 브라우저에서는.
사용한 적이 있습니다.
document.onkeydown = keyboardDown;
document.onkeyup = keyboardUp;
document.oncontextmenu = function(e){
var evt = new Object({keyCode:93});
stopEvent(e);
keyboardUp(evt);
}
function stopEvent(event){
if(event.preventDefault != undefined)
event.preventDefault();
if(event.stopPropagation != undefined)
event.stopPropagation();
}
function keyboardDown(e){
...
}
function keyboardUp(e){
...
}
그런 다음 마지막 두 기능에서 e.keyCode 속성이 표시됩니다. e.keyCode == 93인 경우, 사용자가 마우스 오른쪽 버튼을 해제하거나 Context Menu 키를 누르거나 해제한 것으로 알고 있습니다.
도움이 되길 바랍니다.
사용자 페이지가 정말로 사용자가 해당 메뉴를 볼 수 없다는 사실에 의존하는 경우 최신 브라우저(예: Firefox)를 통해 사용자가 정말로 비활성화할지 여부를 결정할 수 있습니다.따라서 메뉴가 실제로 비활성화된다는 보장이 전혀 없습니다.
사용자가 비활성화할 수 있기 때문에 컨텍스트 메뉴에 의존할 수 없습니다.대부분의 웹사이트는 방문자를 짜증나게 하기 위해 이 기능을 사용하기를 원합니다.
언급URL : https://stackoverflow.com/questions/381795/how-to-disable-right-click-context-menu-in-javascript
'programing' 카테고리의 다른 글
사용자 지정 로고 링크 변경 워드프레스 (0) | 2023.10.18 |
---|---|
Powershell의 Copy-Item의 -container 인수의 의미는 무엇입니까? (0) | 2023.10.13 |
소켓 '/tmp/mysql'을(를) 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2) (0) | 2023.10.13 |
MySQL에서 일반 쿼리에 대한 변수를 선언하는 방법은 무엇입니까? (0) | 2023.10.13 |
HTML5 캔버스 크기 조정(다운스케일) 이미지 고품질? (0) | 2023.10.13 |