Mudando o cursor do mouse JSF [RESOLVIDO]

4 respostas
2

Estou com o seguinte problema galera. Preciso que quando o usuário clique no botão a4j:commandButton o cursor do mouse mude pra “espera”.

eu consegui fazer isso da seguinte maneira:

<a4j:commandButton onclick="this.style.cursor='wait'" oncomplete="this.style.cursor='default'"/>

Só que o problema é que o cursor só muda em cima do botão, se eu arrastar o mouse para outro local da tela ele fica normal.

Tentei trocar this por body, mas não funciona.

Alguém sabe como posso fazer isso?

Desde já obrigado.

4 Respostas

Giulliano

já tentou document.style.cursor ???

2

Giulliano acabei de tentar, mas não funcionou não. Quando eu colocar document.style.cursor, o botão nem executa a action. É como se não tivesse uma action nele. E quando eu uso this.style.cursor a action funciona corretamente.

Eu preciso dessa troca de cursor pois a requisição ao servidor é demorada, e se não tiver isso o usuário vai ficar sem saber se já clicou ou não no botão.

mas de qualquer maneira valeu, se tiver mais alguma sugestão… t+

B

então é melhor chamar uma função com:

function trocaCursor(tipo){
   this.document.body.style.cursor=tipo;
}
2

Galera Funcionou. Tive que fazer uma pequena alteração:

acrescentei na função que me passaram a seguinte linha: btn.style.cursor=“wait”;
Agora ficou assim:

function trocaCursor(tipo, btn){  
    this.document.body.style.cursor=tipo;
    btn.style.cursor="wait";
}

A primeira linha faz com que enquanto a requisição está sendo processada, todo o corpo da página fique com o cursor “wait”.
A segunda recebe um botão, e faz com que nele também apareça o cursor wait.

As duas linhas que devem ser acrescentadas no botão a4j são essas:

<a4j:commandButton action="qualquer método"
	onclick="trocaCursor('wait', this)"
	oncomplete="trocaCursor('default')" />

Valeu pela ajuda galera, obrigado mesmo. Abraços…

Criado 3 de fevereiro de 2009
Ultima resposta 3 de fev. de 2009
Respostas 4
Participantes 3