2011-02-13 14 views
6

Espero que alguien me pueda ayudar.(event.target) .text() devuelve url en lugar de texto

Utilizo el siguiente código para agregar etiquetas a un campo de entrada. Sin embargo, al agregar una etiqueta, se incluye toda la ruta.

j('.ltags-add').click(function (event){ 
    contents = j('#link-tags').val(); 
    if (contents != '') { sep = ', '; } else { sep = ''; } 
    tag = j(event.target).text(); 
    j('#link-tags').val(contents + sep + tag); 
}); 

<span class="ltags-add">link 1</span> <span class="ltags-add">link 2</span>

Al hacer clic en un lapso que se supone que devolver el texto 'eslabón 1', sin embargo, ahora vuelve 'http://www.example.com/create/link 1'

¿Alguien tiene una idea de por qué sucede esto y qué puedo hacer al respecto?

Saludos, G.

Respuesta

5

supongo que la spans se anidan dentro de un anchor?

Si es así, no utilice event.target (que no necessarilly representa su clase .ltags-add), pero j(this).text() que siempre hace referencia a su <span> a la que estaba obligado el evento click.

Ver esta demostración : http://www.jsfiddle.net/YNUA5/1/

Cuestiones relacionadas