Событие JQTouch дважды

jQTouch иногда запускает мое событие click два раза, что приводит к тому, что другой элемент (часто ссылка) нажимается на панели, которая отображается сразу после перехода.

Эта проблема обсуждалась здесь довольно широко, но я до сих пор не знаю хорошего решения. На форуме, указанном выше, один джентльмен предлагает следующий код в качестве решения, но я боюсь, что это не сработает для меня, так как я использую события смахивания и касания:

allowClick = true;
function preventGhostClick(){
    allowClick = false;
    setTimeout(function(){
        allowClick = true;
    },800);
}

$('#element').bind('tap',function(){
    if(!allowClick) return false;
    app.utils.preventGhostClick();

    // do stuff
});

У кого-нибудь есть опыт решения этой проблемы и какие-либо лучшие решения, чем приведенные выше? Большое спасибо!

2 ответа

Решение

Я вижу эту проблему только на iPad, возможно, связанную с версией webkit. В сети я видел два решения, которыми хотел бы поделиться.

  1. Сначала выполните unbind.....exL .unbind('click'). Click(function(){});
  2. Кажется, если код jquery находится в теге html "head", проблема не существует, а существует, только если код jquery находится в теге body. Возможно, сочетание головы и тела, не уверен.

Пробовали ли вы перейти от событий касания к событиям нажатия или прикосновения или касания? Я помню, что у меня была очень похожая проблема с веб-приложением для iPad, и я исправил ее, изменив мои события на одно из них. Извините, я не помню конкретно, но это стоит попробовать.

Другие вопросы по тегам