В настоящее время я использую следующий тест (снятый с Modernizr) для обнаружения поддержки касания:
function is_touch_device() {
var bool;
if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
bool = true;
} else {
injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function(node) {
bool = node.offsetTop === 9;
});
}
return bool;
}
Но некоторые устройства управляются прикосновением и мышью, поэтому я хочу, чтобы отдельная функция обнаруживала, поддерживает ли устройство поддержку мыши. Какой хороший способ сделать эту проверку?
В конечном итоге мое намерение состоит в том, чтобы сделать это:
if(is_touch_device())
if(has_mouse_support())
if(is_touch_device() && has_mouse_support())