HTML DOM의 MenuItem 객체는 HTML 문서 내의 <menuitem> 요소를 나타냅니다. 이 객체를 사용하면 컨텍스트 메뉴(우클릭 메뉴) 항목에 동적으로 접근하고 조작할 수 있습니다.
참고 − <menuitem> 요소는 오직 Mozilla Firefox 브라우저에서만 지원됩니다. 또한 해당 요소는 현재 HTML 표준에서 폐기(deprecated)된 상태이므로, 실무에서는 크로스 브라우저 호환성을 고려한 대안을 사용하는 것이 좋습니다.
문법(Syntax)
<menuitem> 요소를 생성하는 기본 문법은 다음과 같습니다.
var menuItemObject = document.createElement("MENUITEM")주요 속성(Properties)
MenuItem 객체에서 사용할 수 있는 주요 속성은 다음과 같습니다.
| 속성 | 설명 |
|---|---|
| checked | 메뉴 항목이 선택(체크) 상태인지 여부를 설정하거나 반환합니다 (true/false) |
| command | command 속성의 값을 설정하거나 반환합니다 |
| default | 해당 메뉴 항목이 기본(default) 항목인지 여부를 설정하거나 반환합니다 |
| disabled | 메뉴 항목의 비활성화 여부를 설정하거나 반환합니다 |
| icon | 메뉴 항목을 나타내는 아이콘 이미지를 설정하거나 반환합니다 |
| label | 메뉴 항목의 label 속성 값을 설정하거나 반환합니다 |
| radiogroup | 메뉴 항목의 radiogroup 속성 값을 설정하거나 반환합니다 |
| type | 메뉴 항목의 type 속성 값을 설정하거나 반환합니다 |
예제(Example)
다음은 HTML DOM MenuItem 요소를 활용한 실제 예제입니다. 폼(form) 위에서 마우스 오른쪽 버튼을 클릭하면 컨텍스트 메뉴가 나타나고, 각 메뉴 항목을 클릭하면 현재 URL 정보를 화면에 표시합니다.
<!DOCTYPE html>
<html>
<head>
<title>Menu Object</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form contextmenu="MENU">
<fieldset>
<legend>Menu-Object</legend>
<label for="urlSelect">Current URL:</label>
<input type="url" size="30" id="urlSelect" value="https://www.example.com/aboutUs">
<div id="divDisplay"></div>
</fieldset>
<menu type="context"
id="MENU">
<menuitem label="Get URL"
onclick="contextFunction(1);">
</menuitem>
<menuitem label="Get Hostname"
onclick="contextFunction(2);">
</menuitem>
</menu>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var urlSelect = document.getElementById("urlSelect");
function gethref(){
divDisplay.textContent = 'URL Path: '+location.href;
}
function getHostname(){
divDisplay.textContent = 'Hostname: '+location.hostname;
}
function contextFunction(role){
if(role === 1)
this.gethref();
else
this.getHostname();
}
</script>
</body>
</html>실행 결과(Output)
위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.
1. 폼 위에서 마우스 오른쪽 버튼 클릭 시 − 컨텍스트 메뉴가 나타납니다.

2. 컨텍스트 메뉴에서 'Get Url' 항목 클릭 시 − 현재 페이지의 전체 URL 경로가 표시됩니다.

3. 컨텍스트 메뉴에서 'Get Hostname' 항목 클릭 시 − 현재 페이지의 호스트명이 표시됩니다.
