Intereting Posts
Android: добавление стиля к панели действий при одном действии Создание цифрового виджета с пользовательским шрифтом Приложение принудительной остановки – также отменяет любые тревоги, которые он установил? Не удалось возобновить ошибку Действия Как настроить Android Studio на работу полностью в автономном режиме? Как рассчитать расстояние между двумя устройствами Android с использованием силы сигнала Bluetooth? Как реализовать прослушиватель длинного клика и onclicklistener в одном списке Как предоставить доступ к странице игровых сервисов Google Play Developer Console другим учетным записям? Как включить JAR в APK без Eclipse? Является ли это допустимым способом хранения статической ссылки и Activity / Context? Почему я не должен этого делать? Анализ байт-кода Android для параметров метода Как реализовать фильтр для пользовательского BaseAdapter с ListView? Содержимое CardView не соответствует match_parent Обновлять текст в действии из фрагмента Как я могу вызвать экран настроек Wi-Fi из своего приложения с помощью Android

Использование jquery mobile tap вместо щелчка

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

Мой код выглядит примерно так:

$('.button-container').on('tap', '.sender', function() { socket.send('Message'); }); 

Использование «tap» вместо «click» выполняется для поддержки iPad (и других мобильных устройств), но поскольку это похоже на хак, у меня есть несколько проблем.

«Tap», похоже, работает с моими тестовыми браузерами, Safari 7, Chrome 34 и Firefox 26 (все не мобильные), но как поддерживает другие немобильные браузеры?

Также есть ли какие-либо известные проблемы с использованием «нажмите» над «кликом» для немобильных браузеров?

Специальные события jQuery Mobile, т. taphold vclick , taphold , vclick … и т. Д., Первоначально являются событиями touch и mouse, преобразованными в специальные события.

Например, tap и vclick – это touchstart / touchend или mousedown / mouseup .

При загрузке jQuery Mobile он проверяет, поддерживает ли браузер, и соответственно события преобразуются в события мыши или события касания .

Вы можете переключаться между событиями в зависимости от поддержки сенсорного экрана браузера. Для не-сенсорных браузеров используйте click и те, которые поддерживают touch , используйте tap .

При запуске проверьте $.support.touch , он вернет true ( tap ) или false ( click ).

 var custom_event = $.support.touch ? "tap" : "click"; $(document).on(custom_event, "element", function () { /* code */ }); 

Проверьте приведенную ниже демонстрацию на своем рабочем столе и на мобильном устройстве.

демонстрация