2012-08-29 63 views
2

當您滾動頁面,並通過按列表視圖按鈕開始滾動時,該按鈕保持爲滾動高亮顯示,並在滾動完成後保持高亮顯示。如何在滾動開始時取消選擇此選項?取消選擇scrollstart上的所有列表視圖項

它的工作原理,如果我這樣做:

$(document).bind('scrollstart', function(ev) { 
    $('*').blur(); 
}); 

但是,這是效率低下,導致頁面滾動開始前落後,我已經試過bluring只是aliui-btnui-li,但是這並未」不重視它。

+0

什麼是列表視圖按鈕? [焦點選擇器](http://api.jquery.com/focus-selector/) - 你試過這個嗎? –

+0

呃。抱歉。 Jquery移動。但仍然 - 焦點選擇器可能是有用的 –

+0

有用的感謝,雖然我嘗試了上述代碼,但用'$('*:focus')。blur();'而不是,但並不高亮任何東西,奇怪。 – Timm

回答

2

當你點擊一個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); 
});​ 

UPDATE

測試我的Droid十一發現超時幫外賣的高亮狀態更一致。你可以爲了自己的目的而混淆超時時間。

這裏是一個演示:http://jsfiddle.net/WrqbG/7/

UPDATE

我也意識到,.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') 
+0

非常棒的人。真棒。 – shamittomar

相關問題