Foros del Web » Programando para Internet » Javascript »

Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Estas en el tema de Cómo hago que pase lo mismo con 3 eventos distintos a la vez? en el foro de Javascript en Foros del Web. Cómo hago para que por ejemplo: Termina de cargar un elemento y dice hola. se hace click en el mismo elemento y diga hola y ...
  #1 (permalink)  
Antiguo 25/06/2010, 19:48
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 10 meses
Puntos: 0
Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Cómo hago para que por ejemplo:

Termina de cargar un elemento y dice hola. se hace click en el mismo elemento y diga hola y así, pero sin poner en el elemento el evento impreso...

Muchas gracias
  #2 (permalink)  
Antiguo 25/06/2010, 20:08
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: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

de alguna manera tienes que registrar tres eventos, ya sea como atributo del elemento o asignandolo en el mismo script. no hay forma de que con un solo evento cubra varios.
Código:
// asumiento que element es la referencia de un elemento;
element.event = fn;
element.otro_evento = fn;
element.otro_evento_diferente = fn;

// por ejemplo;
function fn(){}

element.onmouseover = fn;
element.onclick = fn;
element.onmouseout = fn;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 25/06/2010, 21:14
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

asi como te dice "OK" en lugar de element escribe: document.getElementById('id_del_elemento')
  #4 (permalink)  
Antiguo 26/06/2010, 14:18
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

y si quiero que al presionar el elemento su valor cambie a x? es decir, en el mismo elemento sería onclick=" this.value='x' " pero cómo sería esto dentro de element.onclick



me podrías dar un ejemplo completo de cóm ose haria para que al hacer click en un elemento con id = campo su atributo value cambie a 'verde'?

Muchas gracias!
  #5 (permalink)  
Antiguo 26/06/2010, 14:36
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: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Cita:
es decir, en el mismo elemento sería onclick=" this.value='x' " pero cómo sería esto dentro de element.onclick
como te mostre antes, solo que has de definir la funcion con sus instrucciones en el cuerpo.
Código:
element.event = function(){
// instrucciones aqui;
}

// ejemplo, asumiendo que input es un campo text;
input.onclick = function(){
this.value = "has hecho click en este campo";
}
basicamente dentro del cuerpo escribes lo que necesites. para el ejemplo que pides, pues depende. si el evento esta registrado en el mismo elemento donde quieres cambiar el value, puedes utilizar el keyword this, como mostre en el ejemplo anterior, para referirse al propio elemento. pero si el evento esta registrado en otro elemento, digamos un boton o una imagen, primero debes obtener la referencia del elemento que deseas trabajar. puede ser con document.getElementById si es que tiene atributo id. hay otras formas de adquirir la referencia pero la mas facil y rapida es mediante id. luego cambias los valores que requieras de dicho elemento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 26/06/2010, 14:42
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

function Update(Campo){Campo.value = "has hecho click en este campo";}
var element = document.getElementByID("Campo");
element.onclick = Update(Campo);

<input name="Usuario" type="text" id="Campo"/>


Podrías decirme si este ejemplo está mal? porque no me funciona ^^
  #7 (permalink)  
Antiguo 26/06/2010, 15:01
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Cita:
var element = document.getElementByID("Campo");
JavaScript es case-sensitive, por tanto no es lo mismo GETELEMENTBYID (no existe) que getElementById, y sólo funcionará así.
Saludos (:
  #8 (permalink)  
Antiguo 26/06/2010, 15:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Hola

Con permiso @ZK . Prueba así

Código Javascript:
Ver original
  1. function Update(Campo){alert("has hecho click en este campo " +Campo.id);}
  2.  
  3. function funcion() {
  4. var element = document.getElementById("Campo");
  5. element.onclick = function() {Update(this);};
  6. }
  7. window.onload = function() {funcion();};

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 26/06/2010, 15:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Adler, en tu ejemplo funciona pero si quiero hacer que cambie el value del campo no me funciona...
  #10 (permalink)  
Antiguo 26/06/2010, 15:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Cita:
Iniciado por Leganz Ver Mensaje
no me había dado cuenta pero igual no funciona...
Vale, que le estás respondiendo a @_cronos2. No sabía de que hablabas
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 26/06/2010, 15:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Bueno, ya funcionó!
Ahora quisiera saber si existe alguna forma de simplificarlo... digo por ese trozo de window.onload y la segunda funcion...

Gracias!
  #12 (permalink)  
Antiguo 26/06/2010, 15:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Cómo hago que pase lo mismo con 3 eventos distintos a la vez?

Hola

Prueba así

Código Javascript:
Ver original
  1. window.onload = function() {
  2. document.getElementById("Campo").onclick = function() {alert("has hecho click en este campo " +this.id);};
  3. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: distintos, eventos, pase
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 05:58.