2017-03-01 3 views
2

ユニットテスト用のjsdomコマンドラインインターフェイスで実行しています。TouchEventが不正なコンストラクタ

const event = new window.TouchEvent('touchstart'); 

TypeError: Illegal constructor

なぜこれが動作しませんか? このMDNリストによれば、それはコンストラクタを介して動作するはずです。

これは正常に動作します:あなたが言及したようにcreateEventメソッドは廃止されている

const event = document.creatEvent('touchstart'); 

答えて

0

@Martinマッツァドーソン

const event = new window.MouseEvent('mousemove'); 

また、これは動作しますが、推奨されていません。メソッドに渡すイベントがリストにある限り、document.createEventを使用することはできます。次に、createEventメソッドに渡すことができるイベントタイプのリストを示します。 https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent

'touchstart'イベントタイプは、指定されたリスト内に存在しません。私はあなたがDOM内に存在する個々の要素に対して実行できるメソッドである 'ontouchstart'を参照していると信じています。 ontouchstartのドキュメントは、ここにあります。 https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/ontouchstart

これがあなたを助けてくれることを願っています。すてきな一日を。

+0

イベント名に問題はありません。コンストラクタに問題があります。 –