これはあなたの質問の最初の部分に答えます。
Modernizrを使用してからappleOSテストを追加してみてください。
Modernizr.addTest('ipad', function() {
return !!navigator.userAgent.match(/iPad/i);
});
Modernizr.addTest('iphone', function() {
return !!navigator.userAgent.match(/iPhone/i);
});
Modernizr.addTest('ipod', function() {
return !!navigator.userAgent.match(/iPod/i);
});
Modernizr.addTest('appleios', function() {
return (Modernizr.ipad || Modernizr.ipod || Modernizr.iphone);
});
そこから、iOSの場合は本体にクラスを追加し、iOS以外のデバイスの場合のみホバークラスを適用することができます。
理想的には、Modernizrがタッチをサポートしていないブラウザーに追加する「notouch」ボディー・クラスを使用することができますが、私の経験上、このクラスはBlackberryブラウザーに追加されません。違った発見をしたら教えてください!