在JSF(特別是primefaces)中處理ajax按鈕時,可以將鼠標光標的窗體更改爲繁忙模式(例如:沙漏)?我想改變光標的形式,而當我導航到下一頁時,我的p:dataTable正在加載數據。謝謝。當PrimeFaces ajax請求正在進行時,將鼠標光標更改爲繁忙模式
7
A
回答
9
你可以用CSS和jQuery的一點幫助實現這一目標。使用CSS,您可以創建一個類來更改整個文檔上的光標。使用jQuery,您可以添加/刪除該CSS類。在封面之下,PrimeFaces使用jQuery作爲Ajax魔術,並且您可以針對PrimeFaces標準jQuery ajaxStart
和ajaxStop
事件以及針對PrimeFaces特定pfAjaxSend
和pfAjaxComplete
事件執行添加/移除該CSS類的PrimeFaces 4+掛鉤。
CSS:
html.progress, html.progress * {
cursor: progress !important;
}
(所述!important
覆蓋任何樣式由style
屬性和更強的CSS選擇的情況下設定)
jQuery和PrimeFaces:
$(document).on("ajaxStart pfAjaxSend", function() {
$("html").addClass("progress");
}).on("ajaxStop pfAjaxComplete", function() {
$("html").removeClass("progress");
});
對於你在其他地方也使用標準JSF <f:ajax>
的情況烏爾德喜歡有相同的進度指示器,這裏是你如何能做到這一點:
jsf.ajax.addOnEvent(function(data) {
$("html").toggleClass("progress", data.status == "begin");
});
這也被用於OmniFaces showcase application。當您在this page運行投票時,您可以看到它。
0
Primefaces本身並不像它那樣。它有一些組件可以讓你可視化它的工作時間(AjaxStatus,BlockUI),但它看起來並不像它對光標做任何事情。
你必須直接使用Javascript來做到這一點。這看起來像一個不錯的選擇。
+0
我明白了..希望它會很快加入到它的組件中..感謝您的回覆:) – David
相關問題
- 1. 更改光標時UI忙
- 2. 當將GetStockObject(WHITE_BRUSH)更改爲GetStockObject(GREY_BRUSH)時鬆動鼠標光標
- 3. 將鼠標光標更改爲箭頭
- 4. 將頁面加載時將光標變爲繁忙
- 5. 將默認光標更改爲忙光標不能正常工作
- 6. 在flex中動畫繁忙的光標?
- 7. 如何在鼠標左鍵關閉時更改鼠標光標?
- 8. WPF將鼠標光標更改爲抓取時的手
- 9. Qt:拖動時更改鼠標光標
- 10. 鼠標拖動時更改光標
- 11. 當鼠標懸停在TreeNode上時,如何更改光標?
- 12. 在Ajax請求中進入「繁忙」狀態的瀏覽器
- 13. 將鼠標懸停在JSplitPane分隔線上時更改光標
- 14. 光標在鼠標點擊更改
- 15. 當鼠標位於節點上時,如何將光標更改爲指針
- 16. 在Share Point中更改鼠標光標
- 17. jQuery CSS - 強制光標根據請求更改(不僅在鼠標在請求後移動時)?
- 18. 將光標更改爲沙漏/等待/忙碌光標並返回Qt
- 19. asp:gridview在鼠標懸停時在標頭中更改光標
- 20. 在Silverlight中更改鼠標光標
- 21. 在處理中更改鼠標光標
- 22. 當鼠標光標在其上時,XAML按鈕模板發生更改
- 23. 當拖動浮動時更改鼠標光標QDockWidget
- 24. 僅當特定元素超過鼠標光標時才更改
- 25. 如何更改鼠標光標圖標?
- 26. C#Winforms - 更改鼠標光標圖標
- 27. 鼠標懸停在ScrollableControl的滾動條上時忙光標
- 28. 行爲和繁忙的指標
- 29. 將鼠標光標更改爲繪圖面板中的鉛筆
- 30. 將鼠標光標更改爲HTML中的輸入元素
謝謝!我會試試看.. :) – David