Programación Web y Scripting > JavaScript
Onmousedown Y Oop
(1/1)
bob esponja:
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:
otra cosa:
puedo pasar parametros literales en un onclick por ejemplo? si es asi como
porque esto no funciona:
--- Código: Text ---<input type = "button" value = "opcion1" onclick="pagina( "opcion1" )">y esto tampoco<input type = "button" value = "opcion1" onclick="pagina( \"opcion1\" )">
lo estoy haciendo funcionar de una forma muy elegante y quiero ver si se puede de esa forma
bob esponja:
donde dice "o estoy haciendo funcionar de una forma muy elegante "
lease "o estoy haciendo funcionar de una forma no muy elegante "
bob esponja:
arregle lo de pasar literales en el body onload pero si escribo algo asi:
--- Código: Text --- function pagina( opcion ){ document.write( "<div id = \"menu\">" + menu() + "</div>" ) document.write( "<div id = \"contenido\">" ) switch( opcion ) { case "inicio": document.write( "inicio" ) break case "opcion1": document.write( opcion1() ) break default: document.write( "pagina desconocida" ) break } document.write( "</div>" )} function menu(){ //<li><input type = \"button\" value = \"opcion\" onclick = \"pagina( \"opcion\" )\"></li> cadena = "<input type = \"button\" value = \"opcion1\" onclick = \"pagina(\'opcion1\')\">" return cadena} function opcion1(){ return "opcion1"}
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:
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 )"
--- Fin de la cita ---
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\" )">
--- Fin de la cita ---
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' )">
--- Fin de la cita ---
--- Fin de la cita ---
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.
Navegación
Ir a la versión completa