Foros del Web » Programando para Internet » Javascript » Frameworks JS »

remplazar function

Estas en el tema de remplazar function en el foro de Frameworks JS en Foros del Web. Muy buenas a todos!!!, bueno por aca me registre para ver si alguien me puede echar una mano con una duda que tengo en jquery, ...
  #1 (permalink)  
Antiguo 23/04/2010, 15:10
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 1
remplazar function

Muy buenas a todos!!!, bueno por aca me registre para ver si alguien me puede echar una mano con una duda que tengo en jquery, lo que quiero hacer es "ampliar" una funcion de un plugin de jquery, os explico mejor con un ejemplo

Código:
(function($) {
	$.fn.demo = function() {
		
		return this.each(function() {
			function men(){
				alert("hola");
			}
			men();
		});
	}
})(jQuery);
bien pongamos por ejemplo ese código, ahora lo que me gustaría hacer es modificar la function men() desde fuera , osea declarar una funcion nueva para que cuando se ejecute el script en vez de salir un alert con hola salga con otro texto, se puede hacer de alguna forma ? o solo queda editar el archivo original del plugin ??

Un saludo.
  #2 (permalink)  
Antiguo 24/04/2010, 09:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: remplazar function

A ver si te sirve este tuto, sobre crear funciones:
http://www.cristalab.com/tutoriales/...-jquery-c251l/

Aca hay uno mas breve:
http://blog.ikhuerta.com/crear-un-plugin-de-jquery
  #3 (permalink)  
Antiguo 24/04/2010, 12:16
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: remplazar function

Muy buenas, lo de crear los plugins no es mi duda, eso ya lo se hacer, creo que no me explique bien , lo que necesito es algo similar a lo de jQuery.extend(settings, options); en el ejemplo que puse antes podría cambiar el $.fn.demo así jQuery.extend({demo:function(){alert("otro");}});, seria una forma de "modificar" sin necesidad de editar el archivo original , lo que quiero hacer no es modificar la función principal ($.fn.demo), sino la que esta dentro de esta que es men(), osea por defecto al ejecutar el plugin daría como resultado un alert("hola");, pues lo que me gustaría hacer es de alguna forma cuando se ejecute el plugin diga otro alert sin necesidad de cambiar la función principal, no se si me entiendes :P.

Un saludo.
  #4 (permalink)  
Antiguo 25/04/2010, 10:04
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: remplazar function

justamente en el tuto que te paso mayid enseñan, yo te explicaría pero no tiene sentido volver a repetir lo que está en el tuto, en la parte de Extendiendo el plugin: Opciones está

Si lees y no entendés veni a preguntarlo, por ahora un ejemplo

Código HTML:
<head>
    <title>Prueba</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
(function($) {
	$.fn.demo = function(optUser) {
		optDef = {mensaje: "nombreDefault", nombre:"invitadoDefault"}
		var opt = jQuery.extend( optDef , optUser);
	    alert(opt.mensaje+" "+opt.nombre);
	}
})(jQuery);

$( function (){
	$().demo();
	$().demo( {nombre:"Dany"} );
	$().demo( {mensaje:"Hola"} );
	$().demo( {mensaje:"Chau", nombre:"Dany"} );
});
</script>
</head>
<body>

</body>
</html> 

Etiquetas: function, remplazar
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 01:59.