javascript: onMouseOver vs onClick

MPalhas

Power Member
mais uma duvida que secalhar até tem uma solução bem simples

estou a fazer uma coisa tipo menu drop-down em javascript.
não tem nada me muito complicado, basicamente só quero que ao clicar num texto, faça surgir imediatamente abaixo uma div com alguma coisa (formulário de login por exemplo

a estrutura que tenho é mais ou menos esta:

Código:
<span onMouseOver="document.getElementById(\'quickSearchForm\').style.zIndex=50;" onMouseOut="document.getElementById(\'quickSearchForm\').style.zIndex=-1;">
     <div>Pesquisa</div>

     <div id="quickSearchForm" style="z-index:-1">
          <!-- aqui fica o formulário -->
     </div>
</span>

esta é uma versão resumida do que tenho. nem sei se é a maneira mais correcta de fazer isto.

a div com o texto "Pesquisa" é a que está visivel de inicio. a outra div está com z-index:-1 para não aparecer.
Ao por o rato sobre o texto "Pesquisa" o z-index muda e a div aparece. como o script está no span que é elemento-pai das duas divs, consigo também mover o rato sobre a nova div que apareceu.

mas estranhamento, quando mudo o onMouseOver para onClick tudo fica diferente. a div aparece quando clico, mas já não consigo passar o rato sobre a nova div, porque ela desaparece logo, mesmo estando ela dentro do span.

porque é que estes dois eventos têm comportamento diferente? e posso resolver ou tenho mesmo que fazer onMouseOver?
 
Back
Topo