Jump to content


Photo

Associando Uma Função Tratadora De Evento[resolvido]


  • Faça o login para participar
3 replies to this topic

#1 Mantu

Mantu

    Turista

  • Usuários
  • 31 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 18/07/2006, 11:03

Olá pessoal!
Suponha que eu tenha na minha página um botão cujo id é "btn01".
Se eu quiser associar uma função ao evento onclick deste botão, eu faria...
...
function anyFunction(){
	...
	var btn = document.getElementById("btn01");
	btn.onclick = foo;
	...
}
...
function foo(ev){
	...
}
...
... certo?

Agora, como eu faria se eu quisesse, por exemplo, passar a referencia armazenada pela variável btn pra dentro do foo, ou seja, como eu faria pra associar foo ao evento onclick do botão, se foo fosse assim:
function foo(ev, obj){
	...
}
Seria possível fazer algo nesse sentido?

Edição feita por: Mantu, 18/07/2006, 14:15.

[]'s
Mantu

Time after time we lose sight of the way. Our causes can't see their effects - Neil Peart

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 18/07/2006, 12:32

Você precisaria alterar seu onclick:

btn.onclick = function() { foo( Event, btn ); };

Usar uma função anônima para passar o event e o outro parâmetro. Exemplo funcional:

<html>
<body>
	<button id="foo">hit me!</button>

<script>
	var bla = function()
	{
		var btn = document.getElementById( "foo" );
		btn.onclick = function() { bar( Event, btn ); };
	};
	var bar = function()
	{
		alert( arguments[0] );
		alert( arguments[1] );
	}
	bla();
</script>	

</body>
</html>

Klaus Paiva
Conheça também: Taperás

#3 Mantu

Mantu

    Turista

  • Usuários
  • 31 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 18/07/2006, 14:14

Muito obrigado, Klaus!!! Esse lance do arguments é totalmente novo pra mim!!! (y)!!! Quebraste um galhaço!!! :lol:
[]'s
Mantu

Time after time we lose sight of the way. Our causes can't see their effects - Neil Peart

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 18/07/2006, 15:24

:D legal!
Klaus Paiva
Conheça também: Taperás




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq