Как определить, есть ли в браузере выделение крана?

Как я могу определить, есть ли в браузере выделение касанием? Я мог бы просто просканировать строку пользовательского агента на наличие «iphone», «ipad» и «android» и надеяться охватить большинство устройств с сенсорным экраном, но это кажется довольно грубым. Вы знаете, как сказать достоверно? Или какие-то другие идеи?

Я хочу отключить свои эффекты CSS: hover, если в браузере есть выделение касанием (наличие обоих одновременно довольно сбивает с толку). В моем случае это намного предпочтительнее, чем отключение выделения крана.

Спасибо за ваше время, и я буду признателен за любые идеи, которые могут у вас возникнуть!


person barfuin    schedule 31.10.2011    source источник


Ответы (1)


Вы можете использовать следующий фрагмент кода для обнаружения устройств с сенсорным экраном:

function is_touch_device() {  
  try {  
    document.createEvent("TouchEvent");  
    return true;  
  } catch (e) {  
    return false;  
  }  
}
person Ian Newson    schedule 31.10.2011