首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

IE 瀏覽器禁止多點觸控:捕獲 touch 事件並阻止默認行為

     編輯:程式設計疑難解答

背景

Win7 + IE 應用需禁用多點觸控(縮放、平移),但保留系統其他程序觸控。

方案:JavaScript 攔截觸摸事件

IE 10/11 支持指針事件(`pointerdown` 等)及觸摸事件(`touchstart` 等)。在頁面頂層捕獲並阻止:

["touchstart", "touchmove", "touchend", "touchcancel"].forEach(function(evt) {
    document.addEventListener(evt, function(e) {
        if (e.touches.length > 1) { // 多點觸控
            e.preventDefault(); // 阻止瀏覽器默認縮放/平移
        }
    }, { passive: false }); // 必須 passive: false 才能 preventDefault
});

補充

  • 若需**完全禁用所有觸摸**(含單點),直接 `e.preventDefault()` 無條件調用。
  • IE 10/11 亦可用 CSS `touch-action: none;` 禁止元素觸摸行為:
html, body { touch-action: none; }

此法更簡潔,無需 JS,推薦優先使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved