タッチイベントのテストケースをいくつか書きたいと思います。私のコードでは、それがタッチデバイス上にあるかどうかを判断するために次のロジックがあります。デスクトップブラウザを使用してタッチイベントをテストするにはどうすればよいですか?
if(document.documentElement.ontouchstart !== undefined)
{
//content that I want to write test cases about
}
は今、私はundefined
ではない偽document.documentElement.ontouchstart
にしたいので、内部のロジックが実行されます。
Sinon.js
のを使用して、空の関数をdocument.documentElement.ontouchstart
に割り当てようとしました。しかし、 "TypeError:未定義のプロパティーをラップするように試みましたontouchstart
"というエラーが表示されます。document.documentElement
にはこのようなプロパティはありません。
私は実際には次のようなものを書いたくありません:document.documentElement.ontouchstart = function() {..}
私のテストでは他のテストケースに影響するので、もちろん、テストケースが終了したら、元の値を保存して値を復元することができます。しかし、私は尋ねたい、これを達成するためのよりエレガントな方法はありますか?
if
に入る方法を教えてください。
onmousedownイベントontouchstartのために/ triggerを呼び出すことができます –
@ABUdhayしかし、私は 'if'内のロジックをチェックしたいと思います。 'onmousedown'をトリガすることは' if'文が真になることを許しません。 – JasmineOT
これは基本的にDOMにはありませんが、そこにはありません。document.documentElement.ontouchstart = function(){//ここでは、onmousedownのコールバック関数を呼び出すか、mousedownイベントハンドラーをトリガーする必要がありますメソッド} –