Foros del Web » Programando para Internet » Javascript »

Problemas con Event

Estas en el tema de Problemas con Event en el foro de Javascript en Foros del Web. Hola, tengo un problema con firefox con respecto a event... en un principio habia sido pensado para IE unicamente pero bueno ahora quieren multibrowser ¬¬ ...
  #1 (permalink)  
Antiguo 08/01/2010, 12:40
 
Fecha de Ingreso: junio-2009
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 1
Problemas con Event

Hola, tengo un problema con firefox con respecto a event... en un principio habia sido pensado para IE unicamente pero bueno ahora quieren multibrowser ¬¬


<SCRIPT LANGUAGE=JavaScript FOR=ColorTable EVENT=onclick>
<!--
SelColor.value = event.srcElement.title;
// -->
</SCRIPT>

<BODY onload="SelColor.focus()">
<TABLE ID=ColorTable>
<TR>
<TD BGCOLOR=aliceblue TITLE=aliceblue>&nbsp;&nbsp;&nbsp;
</TABLE>

<P>
<LABEL FOR=SelColor>Color:</LABEL>
<INPUT TYPE=TEXT SIZE=20 ID=SelColor>
<BR>
<SPAN ID=RGB>&nbsp;</SPAN>

<P>
<BUTTON ID=Ok TYPE=SUBMIT>OK</BUTTON>
<BUTTON ONCLICK="window.close();">Cancel</BUTTON>

</BODY>

Me podrian ayudar como queda con respecto a event... cada vez que quiero cambiar me rompe todo y me da error :(

Gracias
  #2 (permalink)  
Antiguo 08/01/2010, 12:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problemas con Event

no habia visto esa forma antes, además no te apegas a los estándares, los valores de los atributos en etiquetas se encierran en comillas: <tag att="value">..</tag> y el código en minúsculas de preferencia

por el evento en js seria así:

Código HTML:
<html>
<head>
<script type="text/javascript">
function eventoclick1(e){
	if(e==null){
		e=event;
	}
	if(e==null){
		e = window.event;//compatibilidad IE
	}
	var SelColor = document.getElementById('SelColor');
	SelColor.value = e.srcElement.title;
}
</script>
</head>
<BODY onload="document.getElementById('SelColor').focus()">
<TABLE ID="ColorTable" onclick="eventoclick1(event);">
<TR>
<TD BGCOLOR="aliceblue" TITLE="aliceblue">&nbsp;&nbsp;&nbsp;
</td><!-- cierres -->
</tr><!-- cierres -->
</TABLE>

<P>
<LABEL FOR="SelColor">Color:</LABEL>
<INPUT TYPE="TEXT" SIZE="20" ID="SelColor" >
<BR>
<SPAN ID="RGB">&nbsp;</SPAN>
</P><!-- cierres -->
<P>
<BUTTON ID="Ok" TYPE="SUBMIT">OK</BUTTON>
<BUTTON ONCLICK="window.close();">Cancel</BUTTON>

</P><!-- cierres -->
</BODY>
</html> 
edemás, exactamente que quieres hacer?, el evento no debería ir en la tabla, sino en cada fila o la celdasupongo, algo así?:
Código HTML:
<tr>
    <td onclick="eventoclick1(event);">&nbsp;</td>
    <td onclick="eventoclick1(event);">&nbsp;</td>
</tr> 

Última edición por maycolalvarez; 08/01/2010 a las 13:00
  #3 (permalink)  
Antiguo 08/01/2010, 13:16
 
Fecha de Ingreso: junio-2009
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problemas con Event

muchisimas gracias maycolalvarez... sigue quedando ben en IE...
Aunq en FF lo que no le gusta ahora es la propiedad de event o windows.event ¬¬

e.srcElement is undefined.... pero bueno lo anterior quedo genial. Gracias por todo!
  #4 (permalink)  
Antiguo 08/01/2010, 13:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problemas con Event

Es que según el estándar, debe ser e.target
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 08/01/2010, 13:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problemas con Event

cierto, puedes hacer esto:
Código:
var t = e.target;
if(typeof (t)=='undefined'){ //si no funciona prueba if(t==null)
    t= e.srcElement;
}
  #6 (permalink)  
Antiguo 08/01/2010, 13:42
 
Fecha de Ingreso: junio-2009
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problemas con Event

Gracias chicos esta perfecto!

Etiquetas: eventos
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 00:35.