Foros del Web » Programando para Internet » Javascript »

asignacion de eventos : IE y FF

Estas en el tema de asignacion de eventos : IE y FF en el foro de Javascript en Foros del Web. Queridos javeros, tengo un problema en la asignacion de eventos que aparenta ser un problema de FireFox, pero como dice Isabel, uno siempre se puede ...
  #1 (permalink)  
Antiguo 24/11/2010, 13:24
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
asignacion de eventos : IE y FF

Queridos javeros, tengo un problema en la asignacion de eventos que aparenta ser un problema de FireFox, pero como dice Isabel, uno siempre se puede equivocar, asi que lo expongo :

Esta pagina asigna un evento onclick a body (hay que hacer doble click para que lo asigne).

Funciona bien en IE6 y FF 3.6.12


Cita:

<html>
<head>
<script>

function body_onclick(){
alert("body_onclick se ejecuto OK");
}

function win_onload(){
alert("win_onload se ejecuto OK");
}

onload = win_onload;

</script>

</head>
<body ondblclick="this.onclick = body_onclick;">
</body>

</html>

Esta intenta hacer lo mismo pero no funciona en FF :

Cita:
<html>
<head>
<script>

function body_onclick(){
alert("body_onclick se ejecuto OK");
}

function win_onload(){
document.body.onclick = body_onclick;
alert("win_onload se ejecuto OK");
}

onload = win_onload;

</script>

</head>
<body>
</body>

</html>
El problema es mio o de FF ?

Saludos
  #2 (permalink)  
Antiguo 24/11/2010, 13:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: asignacion de eventos : IE y FF

hazlo así
Cita:
window.onclick = function() {win_onload();};
  #3 (permalink)  
Antiguo 24/11/2010, 13:38
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: asignacion de eventos : IE y FF

Cita:
Iniciado por IsaBelM Ver Mensaje
hazlo así

Isabel :

Gracias por responder.
El objetivo es asignar funcion onclick a body, no a windows.

Saludos
  #4 (permalink)  
Antiguo 24/11/2010, 14:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: asignacion de eventos : IE y FF

solo tienes que poner una zona activa
Cita:
<html>
<head>
<script>

function body_onclick(){
alert("body_onclick se ejecuto OK");
}


function win_onload(){
alert("win_onload se ejecuto OK");
document.body.onclick = function() {body_onclick();};
}

window.onload = function() {win_onload();};

</script>

</head>
<body>
pincha aquí!!!
</body>

</html>
  #5 (permalink)  
Antiguo 24/11/2010, 14:19
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: asignacion de eventos : IE y FF

OK.
El problema es que en IE, el body abarca todo lo que se ve de la pagina mientras que en FireFox abarca solo el contenido del body.

Entonces, como dice Isabel,

Cita:
Iniciado por IsaBelM Ver Mensaje
solo tienes que poner una zona activa
si pones contenido, funciona en FF pero solo si pinchas en el contenido.

Cita:
<html>
<head>
<script>

function body_onclick(){
alert("body_onclick se ejecuto OK");
}

function win_onload(){
document.body.onclick = body_onclick;
alert("win_onload se ejecuto OK");
}

onload = win_onload;

</script>

</head>
<body>algo
</body>

</html>

Para que funcione en toda la pagina en los dos navegadores hay que usar document el lugar de body.


Cita:
<html>
<head>
<script>

function document_onclick(){
alert("document_onclick se ejecuto OK");
}

function win_onload(){
document.onclick = document_onclick;
alert("win_onload se ejecuto OK");
}

onload = win_onload;

</script>

</head>
<body>
</body>

</html>
Gracias Isabel.
  #6 (permalink)  
Antiguo 25/11/2010, 05:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: asignacion de eventos : IE y FF

entonces al final no se le asigna a body sino a document. document es una propiedad del objeto window, así que no sé si hay alguna diferencia entre asignárselo a window o a document
  #7 (permalink)  
Antiguo 25/11/2010, 08:21
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: asignacion de eventos : IE y FF

Cita:
Iniciado por IsaBelM Ver Mensaje
entonces al final no se le asigna a body sino a document. document es una propiedad del objeto window, así que no sé si hay alguna diferencia entre asignárselo a window o a document
Eso no lo investigué, asi que no te lo puedo decir.
Lo que si vale la pena decir es que mi explicacion anterior no explica porqué si se hace la declaracion dentro del TAG BODY,

<body ondblclick="this.onclick = body_onclick;">

el Firefox se comporta igual que el IE pero si se hace dentro de <SCRIPT>

document.body.onclick = body_onclick;

los "body" se comportan distinto.

Saludos

Etiquetas: asignacion, 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 19:44.