当您滚动页面并通过按下列表视图按钮开始滚动时,该按钮将保持突出显示以进行滚动,并在滚动完成后保持突出显示。滚动开始时如何取消选择它?
如果我这样做,它会起作用:
$(document).bind('scrollstart', function(ev) {
$('*').blur();
});
但这效率低下,并导致页面在滚动开始之前滞后,我尝试仅模糊a
、和li
,但这并没有取消突出显示它。ui-btn
ui-li
当您滚动页面并通过按下列表视图按钮开始滚动时,该按钮将保持突出显示以进行滚动,并在滚动完成后保持突出显示。滚动开始时如何取消选择它?
如果我这样做,它会起作用:
$(document).bind('scrollstart', function(ev) {
$('*').blur();
});
但这效率低下,并导致页面在滚动开始之前滞后,我尝试仅模糊a
、和li
,但这并没有取消突出显示它。ui-btn
ui-li
当您单击 jQuery Mobile 伪页面上的列表项时,您基本上是将ui-btn-down-*
类添加到列表项(*
表示主题字母之一)。
一旦用户开始滚动,您就可以删除此类,这是一个示例:
$(document).on("scrollstart", function () {
setTimeout(function () {
$.mobile.activePage.find('.ui-li').removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e');
}, 100);
});
更新
在我的 Droid XI 上进行的测试发现,超时有助于更一致地消除突出显示的状态。您可以出于自己的目的弄乱超时的持续时间。
这是一个演示:http: //jsfiddle.net/WrqbG/7/
更新
我还意识到.ui-btn-hover-*
该类已应用,因此要返回未突出显示的列表,您还必须删除这些类。
.removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e')
只需更改为:
.removeClass('ui-btn-down-a ui-btn-down-b ui-btn-down-c ui-btn-down-d ui-btn-down-e ui-btn-hover-a ui-btn-hover-b ui-btn-hover-c ui-btn-hover-d ui-btn-hover-e')