2013-05-21 2 views
3

Как и любой, кто использовал jqm на устройстве Android и iOS, задержка в 300 мсек может вызвать головные боли. К счастью, существует множество решений - используйте метод fastclick.js, vlick и другие возможности.jQuery mobile misses css эффекты на vclick/fastclick

Однако при применении этих решений эффекты css не выполняются. Вот демо: http://nischenspringer.de/jquery/fastclick/demo.html (от https://github.com/Plaputta/jquery.event.special.fastclick)

Если щелкнуть по демо на компьютере, вы видите парить и нажмите CSS эффекты. Однако, если вы нажмете на устройстве iOS, вы увидите только эти эффекты, когда удерживаете кнопку на 300 мс (предположим). Если вы нажмете быстро, приложение ответит и выполнит действие, но вы не увидите никаких изменений css!

Любые идеи о том, как исправить это?

ответ

2

Рабочий пример: jsFiddle

Все, что вам нужно сделать, это установить JQuery переменной Mobile конфигурации: buttonMarkup.hoverDelay

$(document).bind("mobileinit", function(){ 
    $.mobile.buttonMarkup.hoverDelay = 0; 
}); 

Но будьте осторожны, mobileinit MUST быть инициализирован перед JQuery Mobile, например:

<script src="jquery.js"></script> 
<script> 
    $(document).bind("mobileinit", function(){ 
     $.mobile.buttonMarkup.hoverDelay = 0; 
    }); 
</script> 
<script src="jquery-mobile.js"></script> 
+0

удивительно. большое спасибо! (я смотрел во всех неправильных местах ... css js files ... и т. д.) – Federico

+0

Я рад помочь. – Gajotres

+0

@Gajotres похоже, что он не работает для элементов списка – Mirko

0

Если его версия> = 1,4 попробовать

< литий класс = 'щ-BTN'/>

или же попробовать

< литий данных роль 'Кнопка' =/>