Некоторое время назад я написал пользовательскую систему событий touch/mouse, которая хранит прокрутку, и все остальное, как обычно, но добавляет новые события на основе его устройств. Мы также используем мышь для создания кликов & кликов или touchhes.it также делает все математика вне mousemove/touchmove, чтобы оставить эту функцию без запаха.
Сначала я проверил, какой тип os у меня есть (в вашем случае вам нужно изменить эту строку чтобы заставить его работать в Win8)
(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)?'touch':'mouse')
Затем я создал массив, содержащий различные функции для мыши и сенсорных событий ...
создает 6 новых событий.
Ь: FastClick (особенно для Ios устройств еще щелчок принимает 500ms) 50ms
ПФС: superfastclick (это для основных элементов, его в основном на touchstart) 0ms
не то использование когда вы также прокручиваете.
и различные пойло SWL, SWR, ЕРР, SWD (swipeleft, вправо, вверх & вниз)
мышь реагирует, как обычный сенсорный событие
если вы> hold- Нажать на> переместить вправо-> отпустить, это дает вам случайное совпадение.
сказал, что в вашем случае вам нужно оба. (Которым может быть проблемой ... Незнайка) , но вы можете сделать это, просто удалив эту строку (также удалить проверку устройства указана на вершине)
for(var a in f[m]){d.addEventListener(a,f[m][a],false);}
и заменить его
for(var a in f['mouse']){d.addEventListener(a,f['mouse'][a],false);}
for(var a in f['touch']){d.addEventListener(a,f['touch'][a],false);}
я не могу проверить его на выигрыш 8 прикосновением ... попробовать.
http://jsfiddle.net/3u5pJ/
Для проверки просто проведите пальцем или нажмите на результат поле, глядя на консоли.
ps: Как стандартизованный стандарт 10, все должно работать как во всех новых современных браузерах. Этот код не предназначен для работы с устаревшими браузерами.
EDIT
этот пример добавляет события прикосновения на мыши и прикосновений.
http://jsfiddle.net/3u5pJ/1/
Для проверки просто проведите пальцем или нажмите на результат поле, глядя на консоли.
Да, и если вы используете этот код, u не должны использовать события кликов, так как они очень плохие в сенсорных устройствах, но используют пользовательский fc или sfc.
использование:
element.addEventListener('swl',handlerFunction,false)//swipeleft
, если вы не понимаете, что-то просто спросить.
Предоставленный вами код не будет запрещать щелчки мыши. Вы должны показать код, который имеет дело с «прессой» – CodingIntrigue
Ну, я тестирую, если это сенсорное устройство, а затем привязывающее касание, а не щелчок. –
Почему бы не привязываться к обоим? – CodingIntrigue