2011-05-27 30 views
7

He creado un elemento label. Tengo que añadir onclick evento para que ...cómo agregar el evento onclick para crear un nuevo elemento en javascript

function a(me) { 
    var d=document.createElement("label"); 
    d.id=me.id; 
    d.onClick="a(10)"; 
    d.innerHTML="welcome"; 
    document.body.appendChild(d); 
} 

código HTML:

<label id="1" onclick="a(this)">aa</label> 
<label id="2" onclick="a(this)">bb</label> 
<label id="3" onclick="a(this)">aa</label> 

en realidad lo que sucede es cuando hago clic en cualquiera de las tres etiquetas de HTML. se crea otra etiqueta y muestra bienvenida. ahora cuando hago clic en la etiqueta recién creada "bienvenida", no se muestra nada ... es decir, el evento onclick agregado a la etiqueta recién creada no funciona ....... cualquier sugerencia ... ...........

+2

Está utilizando la misma ID en dos elementos. Solo use una identificación una vez. – Kayla

+0

@tylermwashbum usando id una vez .......... – thuk

+0

Hay dos etiquetas con la ID '1'. Por cierto, no deberías usar identificadores que comiencen con un número. – kapa

Respuesta

17

Es necesario establecer d.onclick=function(){a(1);};, tenga en cuenta que el caso importa aquí (no "clic").

[Editar]

Sobre la base de sus comentarios y preguntas actualizados que he creado un jsFiddle to demonstrate cómo puede convertir su código en algo que funcione.

+1

¿Qué, específicamente, no funciona después de intentar esta solución? – DavidJCobb

+0

todavía cuando hago clic en esa etiqueta después de agregar esta propiedad. no está llamando a la función ......... – thuk

+0

@maerics. el evento onclick aún no está funcionando. Cuál puede ser el problema...?? – thuk

6
d.setAttribute('onclick', 'alert(\'hello\');'); 
0

Para crear un atributo a una etiqueta HTML, a veces tenemos que añadir lo siguiente:

yourTag.src 
yourTag.src = 'http://lolxd.com/404.png' 

Pero hay atributos especiales, y ellos tienen diferents formas de edición:

yourTag.classList 
yourTag.className 

Y hay es el atributo onclick, wichwe puede utilizar de esta manera:

// The first way 
obj.onclick = function() { alert('lalala') } 
// With the Event Listener 
obj.addEventListener('click', function() { alert('lalala') }, false) 
// Or, a text-render way 
obj.setAttribute('onclick', 'alert(`lalala`)') 

Le recomiendo el modo de escucha de eventos, pero intente todo: D

Cuestiones relacionadas