Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Rafael

Colocar função javascript em elementos criados com javascript

Recommended Posts

Bom dia pessoal estou com um "pequeno" problema, estou criando um elemento "textarea" e preciso chamar uma função (que já está criada) por um evento pre determinado, fiz assim:

 

var textarea_mensagens = document.createElement("textarea");
textarea_mensagens.setAttribute('name', 'textearea_mensagens'+destinatario);
textarea_mensagens.setAttribute('id', 'textearea_mensagens'+destinatario);
textarea_mensagens.setAttribute('rows', '3');
textarea_mensagens.setAttribute('cols', '15');
textarea_mensagens.setAttribute('maxlength', '255');

 

 

//não funciona.
textarea_mensagens.setAttribute('onkeypress', 'return envia_mensagem(event, '+contador+')');

 

//não funciona

textarea_mensagens.addEvent('onkeypress', 'return envia_mensagem(event,'+contador+')');

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites
textarea_mensagens.onkeypress = function() { return envia_mensagem(event, contador); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara isso funciona, mas tem um problema, no meu caso um elemento é criado a cada looping, e cada função terá um valor especifico a ser enviado por parametro, do jeito que você me mandou o valor a ser enviado será o ultimo da variavel "contador", eu preciso de um efeito similar a esse:

 

textarea_mensagens.setAttribute('id', 'textearea_mensagens'+destinatario);

 

onde cada "textea_mensagens" (variavel contendo um elemento textearea) tera um "ID" único baseado na variável "destinatario", mas no meu caso seria o valor passado por parametro pelo elemento criado.

 

Resumindo: preciso que meus alementos chamem uma função pre definida mas que cada um mande por parametro um valor correspondente ao mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então é da forma q eu mostrei mesmo, mas usando uma clousure para o teu contador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei a solução!!!

 

Basta adicionar como se fosse outra Tag:

 

textarea_mensagens.setAttribute('onkeypress', 'return envia_mensagem(event, '+contador+');');

 

logo no início eu disse que não funcionava, mas era porque tinha um erro de sintax (um ponto e virgula ausente):

 

textarea_mensagens.setAttribute('onkeypress', 'return envia_mensagem(event, '+contador+')');

 

 

fernandocontatos2014@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.