[javascript] 콘텍스트 메뉴에 서브 메뉴 추가하기
콘텍스트 메뉴는 웹 애플리케이션을 사용자 친화적으로 만들 때 유용한 도구입니다. 일반적으로 콘텍스트 메뉴는 마우스 오른쪽 버튼 클릭을 통해 열리며, 기능을 쉽게 이용할 수 있도록 도와줍니다. 그러나 기본 콘텍스트 메뉴에는 서브 메뉴를 추가할 수 없어서, 이 기능을 구현하려면 몇 가지 추가 작업이 필요합니다.
서브 메뉴 추가하기
콘텍스트 메뉴에 서브 메뉴를 추가하려면 contextmenu
이벤트를 캡처하고, 해당 이벤트에 따라 동적으로 서브 메뉴를 생성해야 합니다.
아래는 간단한 예제 코드입니다.
document.addEventListener('contextmenu', function (event) {
event.preventDefault();
const contextMenu = document.createElement('div');
contextMenu.className = 'context-menu';
const menuItem1 = document.createElement('div');
menuItem1.innerText = 'Submenu Item 1';
menuItem1.addEventListener('click', function () {
// Submenu Item 1 클릭 이벤트 처리
});
contextMenu.appendChild(menuItem1);
const menuItem2 = document.createElement('div');
menuItem2.innerText = 'Submenu Item 2';
menuItem2.addEventListener('click', function () {
// Submenu Item 2 클릭 이벤트 처리
});
contextMenu.appendChild(menuItem2);
// 서브 메뉴를 마우스 위치에 표시
contextMenu.style.top = event.clientY + 'px';
contextMenu.style.left = event.clientX + 'px';
document.body.appendChild(contextMenu);
});
위 코드는 contextmenu
이벤트를 캡처하고, 이벤트가 발생한 위치에 서브 메뉴를 동적으로 생성합니다. 각 서브 메뉴 항목을 클릭하는 경우에 대한 이벤트 처리도 포함되어 있습니다.
결론
콘텍스트 메뉴에 서브 메뉴를 추가하는 것은 사용자 경험을 향상시키고 사용자의 작업을 쉽게 할 수 있도록 도와줄 수 있는 기능입니다. 위 예제 코드를 활용하여 콘텍스트 메뉴에 서브 메뉴를 추가해 보세요.