少し前にタッチイベントをテストするために使用した簡単なスクリプトは次のとおりです。
var hasTouch = (function(){
if (document && document.createEvent) {
try {
document.createEvent('GestureEvent');
document.createEvent('TouchEvent');
return true;
} catch (e) {
return false;
}
}
})();
しばらく使用していないので、もっと良い方法があるかもしれませんが、上記はまだ機能します。
また、Kangax のDetecting event support without browser sniffingに関する記事を試すこともできます。
function isTouchEventSupported(eventName) {
var el = document.createElement('div');
eventName = 'on' + eventName;
var isSupported = (eventName in el);
if (!isSupported) {
el.setAttribute(eventName, 'return;');
isSupported = typeof el[eventName] == 'function';
}
el = null;
return isSupported;
}
alert(isTouchEventSupported('touchstart')); // false in IE 8