Foros del Web » Programando para Internet » Javascript »

funcionamiento objeto

Estas en el tema de funcionamiento objeto en el foro de Javascript en Foros del Web. Buenas, Estoy haciendo una pruebla con los objetos de javascript y me lie un poco. Les cuento tengo dos objetos que uno se crea cuando ...
  #1 (permalink)  
Antiguo 09/05/2011, 10:52
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 2
funcionamiento objeto

Buenas,

Estoy haciendo una pruebla con los objetos de javascript y me lie un poco. Les cuento tengo dos objetos que uno se crea cuando hacemos un click derecho y el otro un click izquierdo.

el codigo:
Código Javascript:
Ver original
  1. //recogemos el click
  2. funcion (click){
  3.  
  4. if(click == "derecho"){
  5.  
  6. objeto = derecho;
  7.  
  8. objeto = new clickd(x, y);
  9.  
  10. }else{
  11.  
  12. objeto = izquierdo;
  13.  
  14. objeto = new clicki(x, y);
  15.  
  16. }
  17.  
  18. }

ahora cuando hago los dos click me da la el valor x de cada uno de los objeto.
lo que quiere entender es como guarda ese contenido dentro del objeto, me refiero al nombre. porque yo uso una misma variable (objeto ) donde le asigno dos nombres diferentes derecha e izquierda. hay alguna forma de acceder a cada una de ellas...

Saludos
  #2 (permalink)  
Antiguo 09/05/2011, 12:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años
Puntos: 1485
Respuesta: funcionamiento objeto

buenas,
espero haber comprendido tu corta explicacion. si bien comprendo, tu duda es como obtener acceso a lo asignado en la variable objeto cuando se le asigna derecho o izquierdo. fijate que sera imposible puesto que luego de la asignacion estas sobreescribiendo la variable con un nuevo objeto creado con clicki o clickd. lo que significa que, lo que habia antes en objeto se pierde. para obtener el acceso desde la variable objeto a la informacion de derecho o izquierdo tendrias que hacerlo antes de volver a escribir en dicha variable.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/05/2011, 14:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: funcionamiento objeto

Cita:
Iniciado por zerokilled Ver Mensaje
buenas,
espero haber comprendido tu corta explicacion. si bien comprendo, tu duda es como obtener acceso a lo asignado en la variable objeto cuando se le asigna derecho o izquierdo. fijate que sera imposible puesto que luego de la asignacion estas sobreescribiendo la variable con un nuevo objeto creado con clicki o clickd. lo que significa que, lo que habia antes en objeto se pierde. para obtener el acceso desde la variable objeto a la informacion de derecho o izquierdo tendrias que hacerlo antes de volver a escribir en dicha variable.
pero si es asi como vos decis, como puede ser que cuando realizo un alert despues de haber hecho 3 click (boton derecho, izquierdo y derecho) me salga el alert de las x
de ambos botones.
  #4 (permalink)  
Antiguo 09/05/2011, 14:27
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años
Puntos: 1485
Respuesta: funcionamiento objeto

entiendase que estas dejando muchos detalles sin aclarar. yo no se que exactamente tu tienes, yo solo trate de hacer adivinacion con lo poco que has detallado.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 09/05/2011, 14:50
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: funcionamiento objeto

Cita:
Iniciado por zerokilled Ver Mensaje
entiendase que estas dejando muchos detalles sin aclarar. yo no se que exactamente tu tienes, yo solo trate de hacer adivinacion con lo poco que has detallado.

te dejo el codigo.
Código Javascript:
Ver original
  1. <body>
  2. <div id="posicion">asdasd</div>
  3. <div id="infob">info objeto</div>
  4. <script type="text/javascript">
  5.  
  6.  
  7. var clickd = function (x){
  8.    
  9.     this.x = x;
  10.     this.boton = boton;
  11.     this.info = info;
  12. }
  13.  
  14.  
  15. var clickiz = function (x){
  16.    
  17.     this.x = x;
  18.     this.boton = boton;
  19.     this.info = info;
  20. }
  21.  
  22. $('#posicion').mousedown(function(event) {
  23.  
  24.   cliked(event);
  25.  
  26. });
  27.  
  28.  
  29. //guardamos la info en el objeto
  30. function cliked (event){
  31.  
  32.     if(event.button == 0){
  33.      
  34.         objeto = "derecho";
  35.         boton = "derecho";
  36.         x=event.clientX + document.body.scrollLeft;
  37.         objeto = new clickd(x, boton);
  38.         objeto.info(objeto);
  39.        
  40.     }else{
  41.  
  42.         objeto = "izquierdo";
  43.         boton = "izquierdo";
  44.         x=event.clientX + document.body.scrollLeft;
  45.         objeto = new clickiz(x, boton);
  46.         objeto.info(objeto);
  47.      
  48.     }
  49.  
  50. }
  51.  
  52.  
  53. //la info del objeto
  54. function info(objeto){
  55.  
  56.     $('#infob').click(function() {
  57.  
  58.       alert("pulsaste el boton "+ objeto.boton +" y la posicion del raton es " +objeto.x);
  59.      
  60.     });
  61. }
  62.  
  63. </script>
  64. </body>

saludos
  #6 (permalink)  
Antiguo 09/05/2011, 15:33
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años
Puntos: 1485
Respuesta: funcionamiento objeto

lamento que no pueda hacer nada porque sospecho que estas usando jquery, el cual yo no lo uso.

Cita:
lo que quiere entender es como guarda ese contenido dentro del objeto, me refiero al nombre. porque yo uso una misma variable (objeto ) donde le asigno dos nombres diferentes derecha e izquierda. hay alguna forma de acceder a cada una de ellas...
con lo poco que entiendo del codigo, me temo que no puedes acceder a cada uno de ellos por como te explicaba, la variable global objeto que estas creando en cliked se sobreescribe con cada pulsacion del raton en el #posicion. para que puedas observarlo con mas claridad, si abres la consola del navegador y escribes objeto te podria indicar la instancia a la que pertenece el objeto. (nota: no intentarlo en iexplorer ya que la consola carece de informacion util).

la razon por la que luego puedes mostrar cada uno de los objetos en #infob es porque aparentemente jQuery continua agregando los eventos en forma de pila o stack. cuando tu invocas info, le estas pasando como argumento el objeto creado en #posicion, pero dentro de info se crea un closure de ese argumento en cada invocacion. por eso es posible mostrar cada uno de ellos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 09/05/2011, 15:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: funcionamiento objeto

Cita:
Iniciado por zerokilled Ver Mensaje
lamento que no pueda hacer nada porque sospecho que estas usando jquery, el cual yo no lo uso.


con lo poco que entiendo del codigo, me temo que no puedes acceder a cada uno de ellos por como te explicaba, la variable global objeto que estas creando en cliked se sobreescribe con cada pulsacion del raton en el #posicion. para que puedas observarlo con mas claridad, si abres la consola del navegador y escribes objeto te podria indicar la instancia a la que pertenece el objeto. (nota: no intentarlo en iexplorer ya que la consola carece de informacion util).

la razon por la que luego puedes mostrar cada uno de los objetos en #infob es porque aparentemente jQuery continua agregando los eventos en forma de pila o stack. cuando tu invocas info, le estas pasando como argumento el objeto creado en #posicion, pero dentro de info se crea un closure de ese argumento en cada invocacion. por eso es posible mostrar cada uno de ellos.
vale, tenes razon modifique la linea de jquery y me sale un alert con el ultimo click realizado.

Código Javascript:
Ver original
  1. function info(objeto){
  2.  
  3. document.getElementById("infob").onclick=function(){
  4.  
  5. alert("pulsaste el boton "+ objeto.boton +" y la posicion del raton es " +objeto.x);
  6.  
  7. }
  8.  
  9.  
  10. }

lo que no entendi muy bien (jQuery continua agregando los eventos en forma de pila o stack) me lo podrias explicar de otra forma??

Saludos
  #8 (permalink)  
Antiguo 09/05/2011, 16:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años
Puntos: 1485
Respuesta: funcionamiento objeto

lo que quiere decir es que en lugar de reemplazar algun evento click ya asignado a #infob, lo que hace es que los acumula. ojo, es lo que sospecho de jQuery segun lo que observe anteriormente. entonces luego, cuando sucede el evento, se invocan todos los eventos acumulados. en el cambio que acabas de hacer es todo lo contrario, en cada declaracion del evento se reemplaza el anterior. es asi porque asi es como funciona el modelo Event Level 0.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 09/05/2011, 16:19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: funcionamiento objeto

ok, ya me quedo claro.

Muchas gracias

Etiquetas: funcionamiento, objeto
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 12:28.