Да, в Chrome 17 и 18 произошли некоторые изменения, из-за которых этот тест не работал, но он снова работает в 19. Однако этот тест, вероятно, недостаточно надежен, несмотря на то, что браузеры выбирают различные способы выражения их поддержка для прикосновения.
Парни modernizr провели множество исследований по этому вопросу, и получили результаты по многим сотням версий браузеров, мобильных и настольных, здесь:
http://modernizr.github.com/Modernizr/touch.html
Насколько я понимаю, что, к лучшему или к худшему (в основном к худшему), не существует серебряной пули для обнаружения поддержки (или даже когда-нибудь согласованного стандартного способа сделать это).
Основной способ, с помощью которого modernizr обнаруживает поддержку, -
('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch
но затем они продолжают вводить элемент с помощью медиа-запроса «с сенсорным включением» и проверяют, дает ли он эффект, чтобы быть уверенным (за ним немного сложно следить, но посмотрите source ).
Итак, я бы по крайней мере подумал о переходе на тестирование ontouchstart (которое выглядит наиболее правым в списке браузеров), но, если вы действительно хотите сделать это правильно, я бы просто использовал modernizr.