J'essaie d'étendre jQuery avec ce qui suit:
$.fn.extend({ initCore: $.fn.init, init: function (selector, context, rootjQuery) { return $.fn.initCore(selector, context, rootjQuery); } }),
Cependant, cela ne semble pas fonctionner correctement, et la création de choses simples telles qu'une alerte sur le clic produit des erreurs. Quelqu'un peut-il détecter le problème?
Merci d'avance!
$.fn.init
est le constructeur de classe lui-même.
Essayez d'ajouter $.fn.init.prototype = $.fn
afterwords pour restaurer le prototype d'origine.
Je suppose que vous manquez le contexte. essayer
return $.fn.initCore.call(this, selector, context, rootjQuery);
Ou même plus facile
return this.initCore(selector, context, rootjQuery);
Non, attendez, init
est le constructeur lui-même. Cela signifie
$.fn.initCore.call(this, selector, context, rootjQuery); doSomeThingWith(this); ... $.fn.init.prototype = $.fn;
ou
var ob = new $.fn.initCore(selector, context, rootjQuery); doSomeThingWith(ob); return ob;