Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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!
então é da forma q eu mostrei mesmo, mas usando uma clousure para o teu contador.
Blz, vou estudar sobre o asunto, e testar em meu código, o resultado postarei aqui para discutir ou finalizar este tópico.
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
textarea_mensagens.onkeypress = function() { return envia_mensagem(event, contador); }