Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/08/2009, 13:28
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Capturar onclick en distintos objetos

aqui un ejemplo sin utilizar ID's para los elementos. el ejemplo de Adler tambien funciona, solo que en su caso él/ella recorre el elemento raiz en busca de imagenes y luego asignarle el evento a cada uno de ellos. la idea que originalmente quise exponer en mi primer mensaje era asignandole el evento al elemento raiz y utilizar el objeto evento para determinar donde ocurrio la accion. funciona bien si se mantiene una estructura similar, como en el ejemplo a continuacion.
Código:
<html>
<head>
<style type="text/css">
body{
font-size:.8em;
font-family:trebuchet ms;
}
span{
cursor:pointer;
color:#33F;
text-decoration:underline;
font-size:.7em;
}
</style>

<script type="text/javascript">
onload = function(){
element("container").onclick = function(evt){
var evt = evt || event, elem = evt.target || evt.srcElement; // DOM || IE;
if(/span/i.test(elem.nodeName) && /image-remove/.test(elem.className) && element("container") == elem.parentNode.parentNode)
// en la condicion se verifica: el elemento sea un SPAN, el elemento contiene la clase "image-remove", que el padre del elemento sea hijo de la raiz;
return element("container").removeChild(elem.parentNode);
}}

function element(id){
return document.getElementById(id);
}
</script>
</head>

<body><ul id="container">
<li><p>tu contenido 1</p><span class="image-remove">Remover</span></li>
<li><p>tu contenido 2</p><span class="image-remove">Remover</span></li>
<li><p>tu contenido 3</p><span class="image-remove">Remover</span></li>
<li><p>tu contenido 4</p><span class="image-remove">Remover</span></li>
</ul></body></html>
por supuesto, en este ejemplo he utilizado un SPAN en lugar de una imagen pero no requiere grandes cambios en el script.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 13/08/2009 a las 13:36