すでに述べたように、デバイスはマウスとタッチ入力の両方をサポートする場合があります。多くの場合、質問は「サポートされているもの」ではなく「現在使用されているもの」です。
この場合、マウスイベント(ホバーリスナーを含む)とタッチイベントを同様に登録するだけです。
element.addEventListener('touchstart',onTouchStartCallback,false);
element.addEventListener('onmousedown',onMouseDownCallback,false);
...
JavaScriptは、ユーザー入力に基づいて適切なリスナーを自動的に呼び出す必要があります。したがって、タッチイベントの場合は、onTouchStartCallback
ホバーコードをエミュレートして発生します。
タッチは、タッチとマウスの両方のリスナーを起動する可能性があることに注意してください。ただし、タッチリスナーが最初に表示され、を呼び出すことにより、後続のマウスリスナーが起動しないようにすることができevent.preventDefault()
ます。
function onTouchStartCallback(ev) {
// Call preventDefault() to prevent any further handling
ev.preventDefault();
your code...
}
さらに読むにはここ。