какое событие я должен использовать для прослушивания? зачем использовать vclick? и я просто не знаю, какую ситуацию использовать.
В jQuery mobile, какая разница между tap и vclick?
Ответ 1
В случае использования jQuery Mobile Tap используется только для мобильных устройств. Это уже не случай.
VClick был создан, чтобы устранить разрыв между несовместимостью между кликом и телом между настольными/мобильными устройствами.
Теперь дни, когда вы случайно используете кран, но проблем мало. На плате iOS произойдет сбой. Вместо этого следует использовать Touchstart.
Примеры:
VClick
Будет работать как на настольных, так и на мобильных устройствах.
- Android 4.1.1 - без задержки
- iOS - без задержки
- Обои для рабочего Firefox 19 и Chrome 25.0.1364.152 - Без задержки
http://jsfiddle.net/Gajotres/PYPXu/embedded/result/
$(document).on('pagebeforeshow', '#index', function(){
$( document ).on( "vclick", '[data-role="page"]', function() {
$( this ).append( "<span style='color:#00F;'>vmouseup fired.</span>" );
});
});
Нажмите:
Нажмите
Он работал только на мобильных устройствах, теперь работает и на настольных браузерах, но сбой на iOS с jQuery Mobile версии 1.1 и ниже.
- Android 4.1.1 - без задержки
- iOS - без задержки
- Обои для рабочего Firefox 19 и Chrome 25.0.1364.152 - Без задержки
http://jsfiddle.net/Gajotres/k8kSA/
$(document).on('pagebeforeshow', '#index', function(){
$( document ).on( "tap", '[data-role="page"]', function() {
$( this ).append( "<span style='color:#00F;'>tap fired.</span>" );
});
});
Нажмите
Будет работать на мобильных устройствах и настольных браузерах.
- Android 4.1.1 - Видимая задержка (300+ мс)
- iOS - без задержки
- Обои для рабочего Firefox 19 и Chrome 25.0.1364.152 - Без задержки
http://jsfiddle.net/Gajotres/L2FHp/
$(document).on('pagebeforeshow', '#index', function(){
$( document ).on( "click", '[data-role="page"]', function() {
$( this ).append( "<span style='color:#00F;'>click fired.</span>" );
});
});
Заключение
Если вы хотите, чтобы палка совместимости с jQM с обратной связью с VClick, в любом другом случае используйте Нажмите.
Ответ 2
vclick (виртуализированный клик) имитирует событие onclick.
http://api.jquerymobile.com/vclick/
Включить триггеры события после быстрого, полного целевого объекта с одним касанием.
http://api.jquerymobile.com/tap/
Это зависит от того, что вы делаете, но если у вас нет конкретной причины (например, поддержка рабочего стола и мобильного телефона с теми же js), я бы использовал tap.
Дополнительная информация здесь https://coderwall.com/p/bdxjzg
Ответ 3
Я только что заметил большое различие между "tap" и "vclick". "vclick" срабатывает, если вы нажмете на кнопку и нажмите клавишу ввода - "tap" не делает.