Я использую Jquery Mobile, и мои сенсорные события запускаются дважды. Сначала я подумал, что это может быть совпадение между событиями мыши и событиями касания, но я попытался отсоединить события мыши на планшетах / смартфонах, и эти события по-прежнему запускаются дважды.
Вот мой код
//Tablet Features
var eventType = {
swipeleft: '-=100',
swiperight: '+=100'
}
$('#navMenu').bind('swipeleft swiperight',
function(e) {
$('#prbBtnHolder').animate({left:eventType[e.type]});
//alert(e.type);
}
);
//Device Detection
(function () {
var agent = navigator.userAgent.toLowerCase();
var isDevice = agent.match(/android/i);
if (isDevice == 'android') {
//alert(isDevice);
$('*').unbind('mousedown').unbind('mouseout').unbind('mousemove').unbind('mouseup');
}
})();
Я уже некоторое время пытаюсь понять это, пожалуйста, помогите, если у вас есть идеи.
UPDATE
Мне удалось решить проблему локально, разместив сенсорные обработчики вне метода .ready()
. Однако, когда я запускаю страницу на сервере, двойной триггер происходит снова. Теперь я полностью в тупике. Почему две идентичные страницы (буквально идентичные ) ведут себя по-разному локально и на сервере?