Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] ¡Extender función del Core de Jquery!

Estas en el tema de ¡Extender función del Core de Jquery! en el foro de Jquery en Foros del Web. Hola a todos! Tengo una curiosidad, la cual es si se puede extender (aumentarle una funcionalidad extra) a una función del Core de Jquery , ...
  #1 (permalink)  
Antiguo 15/04/2014, 11:38
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 10
¡Extender función del Core de Jquery!

Hola a todos!

Tengo una curiosidad, la cual es si se puede extender (aumentarle una funcionalidad extra) a una función del Core de Jquery, es decir si tengo el método $.get para realizar una petición ajax, quiero que ésta, una vez devuelva la respuesta ajax, haga una validación extra con esa respuesta; bueno una solución más fácil sería crearme una función o una extensión que haga ese procedimiento con otro nombre similar, pero lo que quiero es usar las funciones $.get, $.post y $.ajax modificadas (extendidas) así no me preocupo de estar usando mi función personalizada con otro nombre.

Saludos.
  #2 (permalink)  
Antiguo 22/04/2014, 12:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: ¡Extender función del Core de Jquery!

es perfectamente factible, aunque tendrás que usar una versión de jQuery no comprimida (y por ende más lenta), aunque claro, lo ideal es crear una función propia.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/04/2014, 17:08
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: ¡Extender función del Core de Jquery!

Exacto todo se puede
jquery mootoools etc, son javascript y podemos hacer lo que queramos y lo mas viable es que trabajemos con la version no comprimida

Lo mismo pasa con foundation, bootstrap, etc en el caso de CSS

saludos
  #4 (permalink)  
Antiguo 24/04/2014, 10:36
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: ¡Extender función del Core de Jquery!

Ya existe esa funcionalidad en jQuery, se llama "dataFilter" y es una función para filtrar todos los "response" de las llamadas ajax donde lo metas.

Si lo que quieres es aplicárselo a todas las llamadas ajax de jquery, sin indicarle el datqaFilter a cada una, para eso está ajaxSetup

Código Javascript:
Ver original
  1. $.ajaxSetup({
  2.     dataFilter:function(data, type){
  3.         var response;
  4.         switch(type)
  5.         {
  6.            
  7.             case "json":
  8.                 response={tipo:"json", datos: data};
  9.                 break;
  10.             case "xml":
  11.                 response={tipo:"xml", datos: data};
  12.                 break;
  13.             case "script":
  14.                 response={tipo:"script", datos: data};
  15.                 break;
  16.             case "html":
  17.             default:
  18.                 response={tipo:"html", datos: data};
  19.                 break;            
  20.         }
  21.         return response;
  22.     }
  23. });


Y si lo que quieres es sobreescribir las funciones de jquery, tambien se puede. Bajo tu propio riesgo.

Código Javascript:
Ver original
  1. $.funcion_nativa={ find : $.find };
  2. $.find = function() {
  3.     console.log("Codigo nuevo.");
  4.     $.funcion_nativa.find.apply(this, arguments);
  5. };
  6.  
  7. console.log($.find("#alguna_cosa"));
Como ves, tienes acceso a los argumentos, asi que puedes modificarlos para añadirle o quitarle lo que quieras.

Última edición por marlanga; 24/04/2014 a las 10:43
  #5 (permalink)  
Antiguo 06/05/2014, 10:44
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 10
Respuesta: ¡Extender función del Core de Jquery!

Ok, muchas gracías marlanga y a los demás, eso me ayudará bastante, saludos!

Etiquetas: core
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 15:13.