簡體   English   中英

在啟用觸摸的瀏覽器上創建和觸發觸摸事件?

[英]Creating and firing touch events on a touch enabled browser?

我試圖在我的javascript中觸發觸摸事件來模擬用戶交互以便測試功能。 我嘗試了以下代碼段:

try {
    var targetElement = document.elementFromPoint(55, 155);
    console.log(targetElement);
    var evt = document.createEvent('UIEvent');
    evt.initTouchEvent('touchstart', true, true);

    evt.view = window;
    evt.altKey = false;
    evt.ctrlKey = false;
    evt.shiftKey = false;
    evt.metaKey = false;

    targetElement.dispatchEvent(evt);
} catch (except){
    alert(except);
}

上面的代碼拋出異常'TypeError:表達式的結果'evt.initTouchEvent [undefined]'不是函數。

有人可以指出我做錯了什么嗎?

根據w3c touch規范TouchEventTouchEvent的子類。 嘗試創建它:

var evt = document.createEvent('TouchEvent');

更改:

evt.initTouchEvent('touchstart', true, true);

至:

evt.initUIEvent('touchstart', true, true);

為我工作,每晚鍍鉻

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM