コア jQuery init 関数 ($() または jQuery() 関数を使用するたびに呼び出される関数) を拡張する方法を発見しました。これは、通常のプロキシ パターンを使用することはできませんが、次のコードで機能します。
var origInit = jQuery.fn.init;
jQuery.fn.init = function(selector, context, rootjQuery) {
if (some condition) {
//custom code here, possibly returning some other jQuery object than
//what jQuery would normally return
}
return origInit.call(jQuery.fn, selector, context, rootjQuery);
}
私の質問は、セレクターのキャッシュに使用する最初の意図が問題であることに気付いたので、これが役立つ可能性がある場所です (他のプラグインの動作に影響を与えるため、キャッシングに別の関数を使用することになりました)。
そのため、その方法を共有したいと思いました。また、その方法の潜在的な用途について他のアイデアを聞きたいと思っています. jQueryはすでに多くのセレクターを提供しているため、いつ必要になるかはわかりませんが、何らかのカスタムセレクターをサポートするために使用できるのではないかと思いました。