2013-04-01 25 views

回答

9

你可以用CSS和jQuery的一點幫助實現這一目標。使用CSS,您可以創建一個類來更改整個文檔上的光標。使用jQuery,您可以添加/刪除該CSS類。在封面之下,PrimeFaces使用jQuery作爲Ajax魔術,並且您可以針對PrimeFaces標準jQuery ajaxStartajaxStop事件以及針對PrimeFaces特定pfAjaxSendpfAjaxComplete事件執行添加/移除該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

謝謝!我會試試看.. :) – David

0

Primefaces本身並不像它那樣。它有一些組件可以讓你可視化它的工作時間(AjaxStatus,BlockUI),但它看起來並不像它對光標做任何事情。

你必須直接使用Javascript來做到這一點。這看起來像一個不錯的選擇。

change cursor to busy while page is loading

+0

我明白了..希望它會很快加入到它的組件中..感謝您的回覆:) – David

相關問題