Foros del Web » Programando para Internet » Javascript »

Evento.Click Chrome y Firefox

Estas en el tema de Evento.Click Chrome y Firefox en el foro de Javascript en Foros del Web. Buenas a todos, Tras descubrir que el evento click de Javascript no me funciona ni en Chrome ni en Firefox, me gustaría consultaros si conocéis ...
  #1 (permalink)  
Antiguo 22/11/2010, 04:48
 
Fecha de Ingreso: enero-2007
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Evento.Click Chrome y Firefox

Buenas a todos,

Tras descubrir que el evento click de Javascript no me funciona ni en Chrome ni en Firefox, me gustaría consultaros si conocéis alguna otra manera de ejecutar un evento en otra página con estos dos navegadores (es decir llamar a un evento de la página padre desde la página hija). En IExplorer lo que hago es utilizar esto:

var updateParentDocumentCodeUniqueIDField = function (value) {
var buttonHiddenWindow = parent.document.getElementById('btnHideExtWindowDo cumentCodeInsert');
if (buttonHiddenWindow != null) {
buttonHiddenWindow.click();
}
}

Pero lo dicho, en los otros dos navegadores no me funciona y no consigo dar con una solución útil.

Un saludo y gracias por la posible ayuda.
  #2 (permalink)  
Antiguo 22/11/2010, 09:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Evento.Click Chrome y Firefox

Hola:

Te informo que el evento click (siempre en minúsculas), funciona en todos los navegadores que mencionas. Lo que pasa es que explorer asocia una función click a los tags que fuerzan el evento... pero ¿acaso es un evento...?

Para programar los eventos, consulta las funciones (métodos) addEventListener/attachEvent... pero es programar el evento, y no tiene nada que ver con forzarlo.

Los pasos normales son tener el evento programado: onclick="evento()"...

...y si quieres "forzarlo", llamar a la función evento...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 22/11/2010, 12:29
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Evento.Click Chrome y Firefox

@lain1010,
alguna vez se genero un tema similar y esta fue mi respuesta. http://www.forosdelweb.com/showthread.php?p=3464227
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 24/11/2010, 04:33
 
Fecha de Ingreso: enero-2007
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Evento.Click Chrome y Firefox

Muy buenas:

Gracias a los dos por responder. Estoy probando a utilizar los métodos que me comenstaste y he creado esto:

Código:
var updateParentDocumentCodeUniqueIDField = function (value) {
            var buttonHiddenWindow = parent.document.getElementById('btnHideExtWindowDocumentCodeInsert');
            if (window.addEventListener) { // Mozilla, Netscape, Firefox
                buttonHiddenWindow.addEventListener('click', testevent, false); //ToDo: No funciona aún.
            } else { // IE
                //object.attachEvent('onmouseover', testevent);
                //object.attachEvent('onclick', testevent);
                alert("pasó por attachEvent");
                if (buttonHiddenWindow != null) {
                    buttonHiddenWindow.click();
                }
            }

        }
pero no consigo que la línea
Código:
buttonHiddenWindow.addEventListener('click', testevent, false);
se ejecute (cuando el script llega a ese punto se bloquea) y no entra nunca en el evento testevent.

¿Sabéis por qué puede ser? Me estoy olvidando de algo o es que no funciona esto para llamar a un evento de otra página, porque en el ejemplo quiero llamar al evento de la página padre.

Un saludo y muchas gracias por las molestias :)
  #5 (permalink)  
Antiguo 25/11/2010, 02:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Evento.Click Chrome y Firefox

no entiendo en que estas tan perdido. caricatos ya te lo trato de explicar, asignar un listener no es lo mismo que recrear el evento. como su nombre lo sugiere, addEventListener lo unico que hace es registrar un listener a un elemento, al final no hace nada salvo lo antes dicho. para que ese listener registrado tome efecto tiene que ocurrir el evento de parte del usuario o programado. si el elemento es un <input> puedes invocar click() desde el elemento para simular el evento. notese que esta funcion solo existe en elementos <input> y aparentemente <button>. a modo ilustrativo...
Código:
<input type="button" value="click me" id="btn" />
<script>
var button = document.getElementById("btn"), fn = function(){alert(event.type + ", ouch!");};
try{
button.addEventListener("click", fn, false);
} catch(e){
button.attachEvent("onclick", fn);
}

// hasta este punto no sucede nada ;
// no hasta cuando el evento ocurra de algun modo ;
button.click();
</script>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: chrome, firefox
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 10:07.