我有一个插件,它有一个我想要添加的类方法。由于这是一个WordPress插件,我无法真正编辑他们的代码,因为未来的更新会破坏我的更改。
如何添加:
alert('bar');
到下面的编辑方法:
var builder_blvd = {
// Lots of stuff here
edit : function ( name, page ) {
alert('foo');
}
// Lots of other stuff here
};
结果应该是2个警告信息,一个用于'foo'而另一个用于'bar'?这是可行的还是我必须制作整个builder_blvd类的新副本?
答案 0 :(得分:5)
(function() {
var original = builder_blvd.edit
builder_blvd.edit = function(name, page) {
original.call(builder_blvd, name, page);
alert('bar');
}
}());
builder_blvd.edit();
答案 1 :(得分:1)
其他海报提出了一些很好的解决方案。但是spyke01,你不知道是否在插件的下一个版本中,如果作者可能决定做一些像这样简单的事情:
edit : function ( name, page ) {
变为
edit : function ( page, name ) {
尽管如此,所有这些提议的解决方案都会破裂。你真的必须弄清楚如何管理改变他人的代码 - 如果你不能维护它,它可能意味着不首先改变它。否则,如果您稍后更新插件,则必须记住您的确切操作,检查代码更改,并尝试再次实施。
祝你好运。