HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM TouchEventのmetaKeyプロパティとは?使い方とサンプルコードを解説

HTML DOM の TouchEvent metaKey プロパティは、タッチイベントが発生した時点で Meta キーが押されていたかどうかの状態を示すブール値(true / false)を返します。Mac の Command キーや Windows キーなどが Meta キーに該当します。

構文

metaKey プロパティは、以下のように記述することでブール値を取得できます。

touchEvent.metaKey

戻り値(booleanValue)

booleanValue詳細
trueタッチイベントが発生したときに Meta キーが押されていたことを示します。
falseタッチイベントが発生したときに Meta キーが押されていなかったことを示します。

注意: 本記事のタッチイベントのサンプルは、モバイル端末やタッチ対応デバイスからアクセスできるオンライン HTML エディター上で実行しています。これは、画面を2秒間長押しするなどの実際のタッチ操作を行えるようにするためです。

TouchEvent metaKey プロパティの使用例

それでは、TouchEvent metaKey プロパティを使った具体的なサンプルコードを見てみましょう。この例では、フォーム上でタッチイベントが発生した際に Meta キーが押されているかどうかを判定し、押されていれば背景色を変更してメッセージを表示します。

<!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>

出力結果

タッチイベント発生前:

HTML DOM TouchEventのmetaKeyプロパティとは?使い方とサンプルコードを解説

Meta キーを押しながらタッチイベントを発生させた後:

HTML DOM TouchEventのmetaKeyプロパティとは?使い方とサンプルコードを解説

このように、event.metaKey を参照することで、タッチイベント発生時に Meta キーが同時に押されていたかどうかを簡単に判定できます。修飾キーの状態に応じて処理を切り替えたい場合に活用するとよいでしょう。

  1. HTML DOM TouchEventのtouchesプロパティとは?使い方とサンプルコードを解説

    TouchEvent touchesプロパティとはHTML DOMのTouchEventにおけるtouchesプロパティは、タッチ面(タッチスクリーンなど)上で発生したすべての接触ポイント(コンタクトポイント)のリストに対応するTouchListオブジェクトを返します。注意:指定されたノード、またはその子ノード上でタッチが発生した場合、その後に続くタッチ操作は、同じノード上で発生していなくてもカウント対象になります。構文TouchListオブジェクトを取得するための構文は以下の通りです。event.touches補足:本記事のタッチイベントのサンプルコードは、モバイル端末やタッチ操作対応デバイ

  2. HTML DOM TouchEventのshiftKeyプロパティとは?使い方とサンプルコードを解説

    HTML DOM TouchEvent の shiftKey プロパティは、タッチイベントが発生した時点で Shift キーが押されていたかどうかに対応するブール値(Boolean)を返すプロパティです。 構文 ブール値(true / false)を返します。 touchEvent.shiftKey ここで返される booleanValue は以下のいずれかになります。 booleanValue詳細 trueタッチイベントが発生したときに Shift キーが押されていたことを示します falseタッチイベントが発生したときに Shift キーは押されていなかったことを示します 注意