任何在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更改!
关于如何解决这个问题的任何想法?
答案 0 :(得分: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>
答案 1 :(得分:0)
如果版本&gt; = 1.4,请尝试
&lt; li class =&#39; ui-btn&#39; /&GT;
或尝试
&lt; li data-role =&#39;按钮&#39; /&gt;