2013-04-01 8 views

답변

9

당신은 CSS와 jQuery를의 작은 도움으로이 작업을 수행 할 수 있습니다. CSS를 사용하면 전체 문서에서 커서를 변경하는 클래스를 만들 수 있습니다. jQuery를 사용하면 해당 CSS 클래스를 추가/삭제할 수 있습니다. 커버 아래에서, PrimeFaces는 ajax 매직을 위해 jQuery를 사용하고 PrimeFaces < 4 후크를 표준 ​​jQuery ajaxStartajaxStop 이벤트에, PrimeFaces 4+ 후크 PrimeFaces 특정 pfAjaxSendpfAjaxComplete 이벤트에 대해 CSS 클래스 추가/제거를 수행 할 수 있습니다.

CSS :

html.progress, html.progress * { 
    cursor: progress !important; 
} 

합니다 (!important이 경우에 style 속성과 강한 CSS 선택기에서 설정 한 스타일을 오버라이드 (override))

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)을 시각화 할 수있게 해주는 몇가지 구성 요소들을 가지고 있지만, 커서를 가지고있는 것처럼 보이지는 않습니다.

직접 자바 스크립트를 사용해야합니다. 이것은 좋은 옵션처럼 보입니다.

change cursor to busy while page is loading

+0

나는 그것이 .. 그 구성 요소에 곧 추가되기를 바란다. 어쨌든 당신의 답장을 보내 주셔서 감사합니다. – David