• Lunes 23 de Diciembre de 2024, 08:39

Autor Tema:  Onmousedown Y Oop  (Leído 1800 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Onmousedown Y Oop
« en: Viernes 23 de Diciembre de 2005, 23:23 »
0
como hago para que en el onmousedown le pase un metodo de un objeto en particular
osea: tengo varias instancias de un objeto y cuando aprietan el mouse quiero llamar al metodo de ese objeto en particular.

esto no me funciona: onmousedown = "this.loquesea( Event )"

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Onmousedown Y Oop
« Respuesta #1 en: Sábado 24 de Diciembre de 2005, 00:40 »
0
otra cosa:

puedo pasar parametros literales en un onclick por ejemplo? si es asi como

porque esto no funciona:

Código: Text
  1. <input type = "button" value = "opcion1" onclick="pagina( "opcion1" )">
  2. y esto tampoco
  3. <input type = "button" value = "opcion1" onclick="pagina( \"opcion1\" )">
  4.  
  5.  

lo estoy haciendo funcionar de una forma muy elegante y quiero ver si se puede de esa forma

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Onmousedown Y Oop
« Respuesta #2 en: Sábado 24 de Diciembre de 2005, 00:50 »
0
donde dice "o estoy haciendo funcionar de una forma muy elegante "

lease "o estoy haciendo funcionar de una forma no muy elegante "

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Onmousedown Y Oop
« Respuesta #3 en: Sábado 24 de Diciembre de 2005, 01:06 »
0
arregle lo de pasar literales en el body onload pero si escribo algo asi:

Código: Text
  1.  
  2. function pagina( opcion )
  3. {
  4.   document.write( "<div id = \"menu\">" + menu() + "</div>" )
  5.  
  6.   document.write( "<div id = \"contenido\">" )
  7.  
  8.   switch( opcion )
  9.   {
  10.     case "inicio":
  11.       document.write( "inicio" )  
  12.       break
  13.     case "opcion1":
  14.       document.write( opcion1() )  
  15.       break
  16.     default:
  17.       document.write( "pagina desconocida" )  
  18.       break
  19.   }
  20.  
  21.   document.write( "</div>" )
  22. }
  23.  
  24. function menu()
  25. {
  26.   //<li><input type = \"button\" value = \"opcion\" onclick = \"pagina( \"opcion\" )\"></li>
  27.   cadena = "<input type = \"button\" value = \"opcion1\" onclick = \"pagina(\'opcion1\')\">"
  28.  
  29.   return cadena
  30. }
  31.  
  32. function opcion1()
  33. {
  34.   return "opcion1"
  35. }
  36.  
  37.  
  38.  

cuando hago click en el boton me dice que no pagina no existe.
pero en el onload se ejecuto asi que no se que es

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Onmousedown Y Oop
« Respuesta #4 en: Lunes 26 de Diciembre de 2005, 15:45 »
0
A ver Bob.. primero que está todo un poco confuso  :P

Vamos por pasos:

1-
Citar
como hago para que en el onmousedown le pase un metodo de un objeto en particular
osea: tengo varias instancias de un objeto y cuando aprietan el mouse quiero llamar al metodo de ese objeto en particular.
esto no me funciona: onmousedown = "this.loquesea( Event )"

Bueno, veamos, vos querés llamar al método de un objeto, o de ese objeto??? Es decir, con 'this.loquesea', estás llamando al evento 'loquesea' del objeto donde está insertado el onmousedown. Para esto tendrías que haber creado dicho evento con la función 'addEventListener' (lo más recomendable a mi modo de verlo)....



2-
Citar
<input type = "button" value = "opcion1" onclick="pagina( \"opcion1\" )">
Este es más sencillo, el problema no es de javascript, sino de tu sintaxis... El tema está en las ", el navegador interpreta que el evento que estás invocando es
Citar
pagina( \ [CODE] ya que toma las " para saber cuando empieza y termina, esto no se soluciona con un escape de caracteres, ya que eso es de javascript. Para solucionarlo simplemente usa las comillas simples:
Citar
<input type = "button" value = "opcion1" onclick="pagina( 'opcion1' )">


3- con lo de la forma elegante, no te puedo ayudar, solo prestá atención cuando escribis JAJAJA  :lol:


el último punto no lo entendi bien... por favor tratá de aclararlo un poco más.


Saludos.
Alatareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |