gpt4 book ai didi

javascript - 覆盖 YUI Javascript 对象

转载 作者:行者123 更新时间:2023-11-30 06:44:56 24 4
gpt4 key购买 nike

我正在努力尝试修改一些 Javascript 代码。我知道我想改变什么,但它在一个定期更新的产品的巨大 JS 文件中。它基本上是对产品的小定制。我认为可以将我的更改外部化并保持核心文件完好无损,而不是直接破解文件。

我想更改的 JS 文件的结构如下所示:

(function()
{
Company.CoolWidget = function(inArg)
{
Company.CoolWidget.superclass.constructor.call(this, inArg);

};

YAHOO.lang.augmentObject(Company.CoolWidget.prototype,
{
options:
{
....
},
onReady: function COOL_onReady()
{
....
}
}, true);
})();

我想在标准的 onReady (COOL_onReady()) 函数中做所有事情,但在它的末尾添加一些东西。我想添加一个新方法,例如:

onNewMethod: function EXT_COOL_newMethod()

我不确定该怎么做,我什至是否能做到,我不确定在其他 JS 文件之后加载新的 JS 文件是否一定能保证覆盖发生。

或者也许问题应该是:我怎样才能对 YUI2 Javascript 文件进行微创更改。

最佳答案

我遇到了与此类似的问题,但我试图完成的是修复错误。我想您也可以这样认为。

Y.Button.prototype._setTitle = function (p_sTitle) { 
// http://yuilibrary.com/forum/viewtopic.php?p=885
/*jslint nomen: true*/
var sTitle = p_sTitle;
if (!sTitle) {
switch (this.get("type")) {
case "radio":
sTitle = this.RADIO_DEFAULT_TITLE;
break;
case "checkbox":
sTitle = this.CHECKBOX_DEFAULT_TITLE;
break;
case "menu":
sTitle = this.MENUBUTTON_DEFAULT_TITLE;
break;
case "split":
sTitle = this.SPLITBUTTON_DEFAULT_TITLE;
break;
case "submit":
sTitle = this.SUBMIT_TITLE;
break;
}
}
/*jslint nomen: false*/
this._button.title = sTitle;
/*jslint nomen: true*/
};

原型(prototype),我相信,就是你所追求的。上面的 yuilibrary 链接可能会有所帮助。

祝你好运! :)

关于javascript - 覆盖 YUI Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com