Jquery ui 在本例中,我是否正确地修补了jQueryUI ProgressBar?
我在应用程序中有一个完整的jQuery UI副本,所以不管我是从CDN还是本地加载,我只知道它已经加载了。(因为如果我们从CDN加载,我们唯一的选择就是monkeypatch实时版本,是吗?) 我从中看到:Jquery ui 在本例中,我是否正确地修补了jQueryUI ProgressBar?,jquery-ui,jquery-ui-progressbar,Jquery Ui,Jquery Ui Progressbar,我在应用程序中有一个完整的jQuery UI副本,所以不管我是从CDN还是本地加载,我只知道它已经加载了。(因为如果我们从CDN加载,我们唯一的选择就是monkeypatch实时版本,是吗?) 我从中看到:this.min不幸地不是一个可设置的选项(this.options.max)。在我的情况下,我需要this.min成为-1(是的,在整个应用程序范围内,我们已经在团队内部讨论过这一点,我们理解jQuery决定的原因,我们只需要它不是这样),所以我唯一的选择似乎是monkeypatch原型或维
this.min
不幸地不是一个可设置的选项(this.options.max
)。在我的情况下,我需要this.min
成为-1
(是的,在整个应用程序范围内,我们已经在团队内部讨论过这一点,我们理解jQuery决定的原因,我们只需要它不是这样),所以我唯一的选择似乎是monkeypatch原型或维护我自己的插件。我还看到他们现在正在使用“小部件”架构来加载jQueryUI对象
在这个特定的应用程序中,我的脚本大致是这样加载的:
/javascripts/lib/jquery.min.js
/javascripts/lib/jquery-ui.min.js
...
/javascripts/company.utils.js
/javascripts/company.helpers.js
...
page level includes of javascript libraries
...
page level javascript
所以我想进入company.utils.js,定义一个monkeypatch,如下所示:
$.ui.progressbar.prototype.min = -1;
然而,我很好奇这是否是修补这个对象的正确方法。确实如此,但我想我会询问更广泛的StackOverflow社区,并为未来的搜索者提供一些谷歌的东西。是的,这是正确的。或者,如果您使用的是jQuery UI 1.9,则可以使用小部件工厂定义扩展:
$.widget( "ui.progressbar", $.ui.progressbar, {
min: -1
});
虽然有点冗长。哇哇哇哇哇哇,我可以像那样对原型进行monkeypatch吗?这似乎不太可能在未来被破坏。。。