HTML DOM의 TouchEvent metaKey 속성은 터치 이벤트가 발생한 순간 Meta 키(Windows의 Windows 키, macOS의 Command ⌘ 키)가 함께 눌려 있었는지 여부를 나타내는 불리언(Boolean) 값을 반환합니다.
이 속성을 활용하면 터치 조작과 동시에 보조 키가 눌렸는지 감지할 수 있어, 모바일 환경에서 핫키(hotkey) 기반 인터랙션을 구현할 때 특히 유용합니다.
문법
metaKey 속성은 다음과 같은 형태로 사용하며, true 또는 false 중 하나의 불리언 값을 반환합니다.
touchEvent.metaKey
반환되는 각 값의 의미는 아래 표와 같습니다.
| booleanValue | 설명 |
|---|---|
| true | 터치 이벤트가 발생했을 때 Meta 키가 눌려 있었음을 의미합니다. |
| false | 터치 이벤트가 발생했을 때 Meta 키가 눌려 있지 않았음을 의미합니다. |
참고 사항
본문의 터치 이벤트 예제는 모바일 기기 또는 터치 입력이 가능한 시스템에서 접속한 온라인 HTML 에디터에서 실행했습니다. 화면을 2초간 길게 터치하는 것과 같은 실제 터치 조작으로 결과를 직접 확인할 수 있습니다.
예제
아래 예제에서는 폼(form) 영역을 터치했을 때 Meta 키가 함께 눌려 있다면 배경색을 파란색으로 변경하고, 'meta Key Pressed'라는 안내 문구를 화면에 표시합니다.
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM TouchEvent metaKey</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
legend{
border-color: #dc3545;
}
span {
display: inline-block;
width: 40px;
height: 20px;
margin: 1px;
color: #fff;
border: 3px solid black;
}
div span:nth-child(1){
background-color: #FF8A00;
}
div span:nth-child(2){
background-color: #F44336;
}
div span:nth-child(3){
background-color: #03A9F4;
}
div span:nth-child(4){
background-color: #4CAF50;
}
</style>
</head>
<body>
<form id="formSelect" ontouchstart="eventAction(event)">
<fieldset>
<legend>HTML-DOM-TouchEvent-metaKey</legend>
<label for="textSelect">Background Color Changer</label>
<div><span>Alt</span><span>Ctrl</span><span>Meta</span><span>Shift</span></div>
<div id="divDisplay">No HotKey Pressed</div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var formSelect = document.getElementById("formSelect");
function eventAction(event) {
if(event.metaKey){
formSelect.style.backgroundColor = '#03A9F4';
formSelect.style.color = '#FFF'
divDisplay.textContent = 'meta Key Pressed';
}
}
</script>
</body>
</html>실행 결과
터치 이벤트 발생 전 −

Meta 키를 누른 상태에서 터치 이벤트 발생 후 −
