考慮すべき難しい点として、タッチスクリーン搭載のラップトップがあります。その場合、デバイスには技術的にはタッチスクリーンが搭載されているにもかかわらず、主な操作はマウス経由で行われる傾向があります。最近、それが原因でいくつか頭痛の種[
]が発生しています。
しかし、具体的な質問にお答えすると、CSSメディアクエリが最善の方法だと思います。hover、pointer、any-hover、any-pointerがあります。
そして、それらのCSSメディアクエリは、window.matchMediaを使用してJSから次のように実行できます。