Jquery扩展现有功能

发布于 2024-12-26 01:17:41 字数 372 浏览 1 评论 0原文

我正在寻找一种方法来扩展现有的 Jquery 函数以为其提供更多选项/参数。

我想使用的是 $.ajax 但这可以适用于任何 jquery 函数。

我希望能够调用这样的函数:

$.adv_ajax()

这将是 $.ajax 函数的扩展版本,如下所示:

 $.adv_ajax({
  custom_parameter: "abc", //my custom one
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});

I am looking for a way to expand an existing Jquery function to give it more options/parameters.

The one I want to use is $.ajax but this could apply to any jquery function.

I want to be able to call a function like this:

$.adv_ajax()

Which would be an extended version of the $.ajax function like as follows:

 $.adv_ajax({
  custom_parameter: "abc", //my custom one
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空城旧梦 2025-01-02 01:17:41

像这样的东西:


(function($)
{
    // maintain a to the existing function
    var oldAjax = $.ajax;
    // ...before overwriting the jQuery extension point
    $.fn.ajax = function()
    {
        // original behavior - use function.apply to preserve context
        var ret = oldAjax.apply(this, arguments);


        // preserve return value (probably the jQuery object...)
        return ret;
    };
})(jQuery);


Something like this:


(function($)
{
    // maintain a to the existing function
    var oldAjax = $.ajax;
    // ...before overwriting the jQuery extension point
    $.fn.ajax = function()
    {
        // original behavior - use function.apply to preserve context
        var ret = oldAjax.apply(this, arguments);


        // preserve return value (probably the jQuery object...)
        return ret;
    };
})(jQuery);


听不够的曲调 2025-01-02 01:17:41

那么只需将您的函数附加到 jQuery 对象即可:

$.adv_ajax = function(options) {
    // Do stuff like change some options and then call the original
    return $.ajax(options);
}

Well then just attach your function to the jQuery object:

$.adv_ajax = function(options) {
    // Do stuff like change some options and then call the original
    return $.ajax(options);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文