JQueryの既存の関数を拡張するプラグインを作成しようとしています。
_(function($)
{
$.fn.css = function()
{
// stuff I will be extending
// that doesn't affect/change
// the way .css() works
};
})(jQuery);
_
.css()
関数を拡張する必要があるのはほんの数ビットです。私が尋ねたことを心に留めてください、私はPHPクラスができるので_className extend existingClass
_を考えているので、jQuery関数を拡張できるかどうか尋ねています。
確かに...既存の関数への参照を保存して呼び出すだけです。
(function($)
{
// maintain a reference to the existing function
var oldcss = $.fn.css;
// ...before overwriting the jQuery extension point
$.fn.css = function()
{
// original behavior - use function.apply to preserve context
var ret = oldcss.apply(this, arguments);
// stuff I will be extending
// that doesn't affect/change
// the way .css() works
// preserve return value (probably the jQuery object...)
return ret;
};
})(jQuery);
同じ方法ですが、この質問の最良の回答とは少し異なります。
// Maintain a reference to the existing function
const oldShow = jQuery.fn.show
jQuery.fn.show = function() {
// Original behavior - use function.apply to preserve context
const ret = oldShow.apply(this, arguments)
// Your source code
this.removeClass('hidden')
return ret
}