HTML DOM TouchEvent 物件


HTML DOM TouchEvent 物件表示在使用觸控裝置與 HTML 文件元素互動時發生的事件。

這裡,“TouchEvent” 可以具有以下屬性和方法:

屬性/方法
描述
altKey
它返回一個布林值,對應於在觸發觸控事件時是否按下了 alt 鍵的狀態
changedTouches
它返回一個 TouchList 物件,對應於觸控事件狀態更改時觸發的所有接觸點列表
ctrlKey
它返回一個布林值,對應於在觸發觸控事件時是否按下了 ctrl 鍵的狀態
metaKey
它返回一個布林值,對應於在觸發觸控事件時是否按下了 meta 鍵的狀態
shiftKey
它返回一個布林值,對應於在觸發觸控事件時是否按下了 shift 鍵的狀態
targetTouches
它返回一個 TouchList 物件,對應於在觸控表面上觸發的所有接觸點列表。如果在指定節點或其任何子節點上觸發觸控,則後續觸控僅在也觸發在同一節點上時才計數
touches
它返回一個 TouchList 物件,對應於在觸控表面上觸發的所有接觸點列表。如果在指定節點或其任何子節點上觸發觸控,則後續觸控即使沒有觸發在同一節點上也會計數

注意:我們在移動裝置或具有觸控功能的系統上訪問的線上 HTML 編輯器上運行了觸控事件示例。這樣做是為了我們可以執行觸控操作,例如觸控式螢幕幕 2 秒鐘。

讓我們看一個 TouchEvent ctrlKey 屬性的示例:

示例

 即時演示

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM TouchEvent ctrlKey</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-ctrlKey</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.ctrlKey){
         formSelect.style.backgroundColor = '#F44336';
         formSelect.style.color = '#FFF'
         divDisplay.textContent = 'ctrl Key Pressed';
      }
   }
</script>
</body>
</html>

輸出

觸發觸控事件之前:

按下 alt 鍵觸發觸控事件之後:

此外,“TouchEvent” 可以具有以下事件型別:

事件
描述
ontouchcancel
當一個或多個觸控事件被中斷時觸發 touchcancel 事件
ontouchend
當觸控從觸控式螢幕上移除時觸發 touchend 事件
ontouchmove
當觸控在觸控式螢幕上移動時觸發 touchmove 事件
ontouchstart
當觸控觸控式螢幕時觸發 touchstart 事件

讓我們看一個 ontouchend 事件屬性的示例:


示例

 即時演示

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM touchend event</title>
<style>
   form {
      width:70%;
      margin: 0 auto;
      text-align: center;
   }
   * {
      padding: 2px;
      margin:5px;
   }
   input[type="button"] {
      border-radius: 50%;
      font-size: 20px;
      padding: 20px;
      border: 5px solid rgb(220, 53, 69);
      background: rgba(220, 53, 69, 0.5);
      color: #fefefe;
   }
</style></head>
<body>
   <form>
      <fieldset>
         <legend>HTML-DOM-touchend-event</legend>
         <label for="textSelect">Game Time</label>
         <input type="button" id="gameSelect" value="Hold On">
         <div id="divDisplay">Hold On for 1 - sec to Win</div>
      </fieldset>
   </form>
<script>
   var divDisplay = document.getElementById("divDisplay");
   var gameSelect = document.getElementById("gameSelect");
   var duration = 1000;
   var timer;
   gameSelect.ontouchstart = startEventAction;
   function startEventAction() {
      timer = setTimeout(victory, duration);
   }
   gameSelect.ontouchend = endEventAction;
   function endEventAction(){
      if(timer)
         clearTimeout(timer);
   }
   function victory(){
      divDisplay.textContent = "You Win"
   }
</script>
</body>
</html>

輸出

觸控“按住”按鈕之前:

觸控式螢幕幕上的“按住”按鈕之後:

更新於: 2019-10-29

112 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.