plugins jQuery utilizan un patrón de esta manera para ocultar eventos privados de un plugin:Acceso miembros privados de plugin de jQuery
(function ($) {
var a_private_function = function (opts) {
opts.onStart();
}
$.fn.name_of_plugin = function (options) {
a_private_function(opts);
}
})(jQuery);
jQuery luego hace las funciones fn disponibles como esto:
some_callback = function() {};
jQuery('selector').name_of_plugin({ onStart: some_callback });
Ahora Quisiera anular a_private_function
. ¿Hay alguna forma de que pueda acceder sin reparar el código del complemento?
pensé que tal vez podría acceder al contexto de ejecución de la función privada mediante el uso de la persona que llama, pero que no funcionó:
some_callback = function() {
console.log(some_callback.caller.a_private_function); // -> undefined
};
jQuery('selector').name_of_plugin({ onStart: some_callback });