Foros del Web » Programando para Internet » Javascript »

crear capa y asignar evento

Estas en el tema de crear capa y asignar evento en el foro de Javascript en Foros del Web. Estimados, como estan? les cuento, el problema es el siguiente, tengo una capa con un evento onclick que funciona correctamente, lo que yo querp hacer ...
  #1 (permalink)  
Antiguo 16/08/2005, 12:09
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
crear capa y asignar evento

Estimados, como estan?

les cuento, el problema es el siguiente, tengo una capa con un evento onclick que funciona correctamente, lo que yo querp hacer es una COPIA de esta capa o crear una nueva, dinamicamente y agregarle este evento on click... no encuentro la forma... he usado varias variantes en IE tanto como en Mozzila pero nada...

Una de las formas fue:

document.getElementById(temp_name).attachEvent('on click', 'mov()');

document.getElementById(temp_name).setAttribute('o nclick', 'mov()');

entre otras... pero no ahy caso... no pasa NADA!

esto deberia andar????

Saludos y gracias,

Liber
__________________
Liber
  #2 (permalink)  
Antiguo 16/08/2005, 12:15
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
si sirve de algo el error que me da cuando uso attachEvent, es Tipo incorrecto
__________________
Liber
  #3 (permalink)  
Antiguo 16/08/2005, 12:52
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 8 meses
Puntos: 0
Aparte de que el evento onClick esta mal puesto en esta linea:

document.getElementById(temp_name).setAttribute('o nclick', 'mov()');

Y si quieres crear una capa yo lo haría algo como así:

document.write("<div id='CapaCreada' onClick='mov()'>Si eso, pon algo aqui</div>");

Es que no se muy bien si te refieres a eso...
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #4 (permalink)  
Antiguo 16/08/2005, 12:54
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
voy a probar eso, lo de onclick, me quedo mal copiado nada mas.... te aviso que logro...

Saludos y gracias
__________________
Liber
  #5 (permalink)  
Antiguo 16/08/2005, 16:50
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
NO funciono...
__________________
Liber
  #6 (permalink)  
Antiguo 16/08/2005, 20:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 5 meses
Puntos: 1284
Hola liberfg... crcbad, otra vez cruzándonos... ¡Saludos !

Con attachEvent la sintaxis sería:

document.getElementById(temp_name).attachEvent('on click', mov);

Fíjate que la función no es una cadena... pero si quieres compatibilidad con mozilla tendrías que usar también addEventListener...

var elemento = document.getElementById(temp_name);
if (elemento.addEventListener)
elemento.addEventListener("click", mov, false)
else
elemento.attachEvent('onclick', mov);

No recuerdo la razón del tercer parámetro de addEventListener, pero con un poco de paciencia y google será suficiente.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 17/08/2005, 11:31
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
no sale!!!

Hola Caricatos,

gracias por la respuesta... pero no lo he podido hacer andar, lo que yo preciso es poder crear layers y moeverlas a un lugar de la pantalla luego de haberlas creado, te voy a pasar los metodos que uso para esto:

Código:
function ask_name(e){
	var aux ='';
	tecla=(document.all)?e.keyCode:e.which;
	if(tecla==110){
		var  temp_name = new String(prompt('Ingrese el nombre del nuevo elemento:'));
		var nuevoDiv = document.createElement('div'); 
		nuevoDiv.align = 'center'; 
		nuevoDiv.id = temp_name;
		nuevoDiv.position = 'absolute';
		nuevoDiv.zindex = 1;
		nuevoDiv.left = '35px';
		nuevoDiv.top = '50px';
		document.getElementById('celda').appendChild(nuevoDiv); 
		document.getElementById(temp_name).innerHTML = '<img src=imgs/textbox.jpg name='+temp_name+'>';
		var elemento = document.getElementById(temp_name);
		if (elemento.addEventListener)
		elemento.addEventListener('click', mov, false)
		else
		elemento.attachEvent('onclick', mov);
	}
}
function mov(){
	alert(this.id);
	Mover_Layer(this.id);
}
LA funcion mov() llama a otra funcion que mueve la capa, el alert muestra en IE undefined y en mozilla lo que tiene que mostrar (lo que ingrese en el prompt) pero si bien puedo mover capas creadas desde el codigo (solo en IE, en mozzilla ahora no me esta dejando mover nada, a pesar de que en un primer momento me dejo), al generar una capa nueva no me lad deja mover en ningu caso....

¿que puede estar pasando?????

Agradezco cualqueir idea, saludos y gracias.

Liber
__________________
Liber
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:19.