jquery 插件上的 javascript 代理

标签 javascript jquery proxy

我有一个 jQuery 插件,我需要更改它的默认设置(并为插件的每个实例强制使用这些默认设置)。修改其源代码不是一个选项(更新等),所以我想如果我代理它,我就会回家。所以我查找了一个例子,如何在 JS 中做到这一点:

var proxied = jQuery.ajax; // Preserving original function
jQuery.ajax = function() { 
    jQuery("#loading").dialog({modal: true});
    return proxied.apply(this, arguments);
}

现在这段代码非常简单,但是

我不确定如何代理“元素方法”,例如 $(".select").multiselect(); 以类似的方式?

最佳答案

好吧,我又搜索了一下,自己找到了答案。

所有 jQuery 对象方法都“存储”在 jQuery.fn 对象中。所以我所要做的就是

var proxied = jQuery.fn.multiselect;
jQuery.fn.multiselect = function() {
    // stuff
    return proxied.apply(this, arguments); 
};

希望有人觉得这有帮助!

关于jquery 插件上的 javascript 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24568553/

相关文章:

php - 当您回答问题并且有人提交了另一个答案时,stackoverflow 上显示的弹出警报是如何创建的?

jquery - 如何让 jQuery 以数字方式检查数值?

php - Live Web Feed + Masonry 'Wall' with CMS

javascript - 如何在 Bootstrap 的选项卡中显示链接?

用于带代理支持的多线程蜘蛛的 Python 包?

apache - 如何在 CentOS 上的 Apache 2.2 上设置 mod_proxy_wstunnel

javascript - 如何影响chrome扩展制作中的dom

javascript - 无法将参数传递给 Vue 中的导入函数

javascript - 如何引用数组而不更改其内容

java - Intellij 由于代理而无法导入 Gradle 项目