/ / Touch събитие не работи на лаптоп със сензорен екран - jquery

Докосването не работи върху лаптопа със сензорен екран - jquery

Сложих прост код за събитие на допир и работата му в мобилни устройства, но не работи в лаптопа със сензорен екран.

$(document).ready(function(){
$(".navigation a").bind("touchstart",function(e){
alert("Touch start!");
});
});

Отговори:

0 за отговор № 1

Актуализация: Проверете проекта jQuery Pointer Events Polyfill, който ви позволява да се свързвате с "показалеца", вместо да избирате между мишката и докосването. https://github.com/jquery/PEP

Обвържете и с двете, но направете флаг, така че функцията да задейства само веднъж на 100ms.

var flag = false;
$thing.bind("touchstart click", function(){
if (!flag) {
flag = true;
setTimeout(function(){ flag = false; }, 100);
// do something
}

return false
});

0 за отговор № 2

Може би е слушане на събития от мишката. Можете да добавите променлива за вашето събитие и да проверите дали нейните възможности могат да възпроизвеждат събития с докосване или не. Можете да използвате библиотеката за модернизиране на javascript, за да получите по-голяма точност в тази задача.

http://modernizr.com/

Позволете ми да ви покажа един пример:

 var clickEvent = undefined;
if (Modernizr.touch) {
clickEvent = "touchstart";
} else {
clickEvent = "click";
}
$(document).ready(function(){
$(".navigation a").bind(clickEvent,function(e){
alert("It works!")
});
});