Intereting Posts
Почему вы не можете напрямую использовать тип в java? Можно автозаполнять EditTextPreference? Android: размер экрана Samsung Galaxy S3 для макета На Android, как обнаружить системный диалог отображается (параметры питания, последние приложения, низкая батарея …)? Должен ли я комментировать мои запросы на журнал при создании моего последнего пакета? Изменить значение флажка без запуска onCheckChanged Ошибка: Android Pre Dex: Android SDK не указан Изображения JPEG имеют разные значения пикселей для нескольких устройств В чем разница между intel xdk, appmobi и пешеходным переходом? Android-виджет хорошо работает в эмуляторе, но по телефону он превращается в виджет Google App Как читать текущий буфер кадра в android? Android, как переопределить проверку подключения к Интернету при подключении к Wi-Fi сети? Apache cordova app падает после получения уведомления parse.com push Android java.lang.VerifyError? Android: создайте файл из android.net.URI

Коснитесь события в Phonegap

Я нахожу проблему, что, когда я «нажимаю» или «нажимаю» элемент, он будет запускаться дважды в моем недавнем проекте. Например:

...... <div id='target'></div> ...... <script> $('#target').click(function(){alert('touched!')}); </script> 

И тогда он будет предупреждать «трогать» дважды !!!!

Я подумал, что если я использую библиотеку жестов, я могу ее исправить, поэтому я пробую Hammer.js.Но кажется, что проблема все еще не может быть исправлена. Я настолько смущен этим и действительно надеюсь, что кто-то может дать мне несколько советов. Спасибо! !!

попробуй это

  <script> $(document).ready(function(){ $('#target').click(function(){alert('touched!')}); }); </script> 

Видеть Джо Филла

Попробуй это

 $(document).ready(function(){ $('#target').unbind('click'); $('#target').bind('click',function(event){ alert('touched!') }); }); 

Иногда срабатывание событий происходит несколько раз, потому что оно связано несколько раз. Попробуйте развязать перед связыванием

Когда я делал проект с помощью телефонной заставки, у меня была аналогичная проблема (я думаю, проблема была в основном в устройствах с железом-железом). Так вот что я сделал:

 var isEvent = false; $(document).ready(function(){ $(element).click(function(){ if(!isEvent){ isEvent = true; doSomething(); } setTimeout(function(){isEvent=false;},50); // time in ms should be set according to your needs }); }); 

В то время это было единственное решение, которое работало на 100%

В современных браузерах вы просто можете использовать touchstart и touchhend

 document.addEventListener('touchstart', function(){ alert('touch started at ' + Date.now() ); }, false); document.addEventListener('touchend', function(){ alert( 'touch ended at ' + Date.now() ); }); 

Вы можете проверить события касания в инструментах разработчика Chrome, установив сенсорное устройство. Не знаю, поддерживают ли другие браузеры

Попробуй это:

 $(document).on('pageinit', 'page_id', function(){ $('#target').click(function(){alert('touched!')}); });