¿Cómo usar $ (esto) dentro de una 'función secundaria' en jQuery?
Frecuentes
Visto 537 veces
0
Esta llamada de función
$('#mydiv').paintRed();
pinta el fondo del elemento DOM con id midiv rojo, si estás usando este código:
$.fn.paintRed = function() {
$(this).css("background-color", "red");
}
Bueno esta bien. Pero ahora quiero 'agrupar' mis propias funciones. Ahora quiero que el programador use esta llamada de función para lograr lo mismo que arriba:
$('#mydiv').subsub.paintRed();
¿Cómo lo logro?
(O bien, si la solicitud anterior no es posible, ¿hay alguna otra manera?)
2 Respuestas
3
$.fn.subsub= function() {
var that = this;
return {
"paintRed" : function(){
$(that).css("background-color", "red");
},
"yourOwnFunction1" : function(){
//code here
},
"yourOwnFunction2" : function(){
//code here
}
};
}
$("#mydiv").subsub().paintRed();
// $("#mydiv").subsub().yourOwnFunction1();
Devuelve un objeto que tiene paintRed
como su propiedad. Al utilizar este método, todas sus funciones se pueden "agrupar" en el subsub
función.
contestado el 23 de mayo de 12 a las 09:05
0
Puedes extender funciones usando jquery
$.fn.someFunctionName = function(){
// do something
}
Asegúrate de leer DEMO aquí
contestado el 22 de mayo de 12 a las 15:05
Eso es lo que mencioné en mi pregunta. - Emperador MC
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jquery function or haz tu propia pregunta.
No es posible.
this
se referiría a$('#mydiv').subsub
(a menos que lo vincule a otro valor, pero eso significa crear una nueva función para cada selección). Así es como funciona JavaScript. - Felix Kling