Rolar e rolar para fora em botões

votos
0

Eu tenho dois botões em meu aplicativo Flex ao lado do outro, buttonA e ButtonB. Quando o usuário faz um roll-over do mouse em qualquer um dos dois botões, eu quero o roll-over da pele (overSkin) para mostrar em ambos os botões, ou seja, botão A e B. Tentei fazê-lo usando este quando o usuário rolou botão B:

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));

e, em seguida, quando o usuário rolou para fora do botão BI fazer:

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));

Botão Eu não posso fazer o mesmo no botão A quando o usuário passa em / out. Ele provoca um ciclo infinito resultando em excesso de pilha.

Existe alguma outra maneira de fazer isso?

Publicado 27/08/2009 em 01:40
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Controlar a recursividade explicitamente com uma variável adicional. Para rollover no botão A:

if(!rolledIntoButtons) {
  rolledIntoButtons = true
  ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER))
}

... com a mesma coisa para trás no botão B. Em seguida, no rollout no botão A:

if(rolledIntoButtons) {
    rolledIntoButtons = false
  ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT))
}

Além disso, verifique a documentação sobre os botões; você pode ser capaz de evitar a introdução de uma variável adicional, verificando o estado de rolagem dos botões diretamente.

Respondeu 27/08/2009 em 01:54
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more