3

任何在 android/iOS 设备上使用过 jqm 的人都知道,300ms 的延迟会让人头疼。值得庆幸的是,有多种解决方案——使用 fastclick.js、“vlick”方法和其他选项。

但是,当您应用此解决方案时,css 效果不会持续。这是一个演示: http: //nischenspringer.de/jquery/fastclick/demo.html (来自https://github.com/Plaputta/jquery.event.special.fastclick

如果您在计算机上单击演示,您会看到悬停并单击 css 效果。但是,如果您从 iOS 设备上单击,则只有在按住按钮 300 毫秒(我假设)时才能看到这些效果。如果您快速单击,应用程序将响应并执行操作,但您不会看到任何 css 更改!

有想法该怎么解决这个吗??

4

2 回答 2

2

工作示例:jsFiddle

您所要做的就是设置 jQuery Mobile 配置变量:buttonMarkup.hoverDelay

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

但是要小心,mobileinitMUST在 jQuery Mobile 之前被初始化,像这样:

<script src="jquery.js"></script>
<script>
    $(document).bind("mobileinit", function(){
        $.mobile.buttonMarkup.hoverDelay = 0;
    });
</script>
<script src="jquery-mobile.js"></script>
于 2013-05-21T23:13:22.340 回答
0

如果它的版本 >= 1.4 试试

<li class='ui-btn' />

否则尝试

<li data-role='按钮'/>

于 2015-01-24T00:51:31.407 回答