Tag: monkeypatching

MonkeyPatching:PrimeFaces小部件扩展/覆盖

我正在使用(它工作正常) PrimeFaces.widget.OverlayPanel.prototype._old_init = PrimeFaces.widget.OverlayPanel.prototype.init; PrimeFaces.widget.OverlayPanel.prototype.init = function(cfg) { this._old_init(cfg); this.align(); } 但是我想使用更具可读性的东西和’jQuery-ish’这样完全发明不切实际的代码: PrimeFaces.widget.OverlayPanel.patch( { init: function(cfg) { super.init(cfg); this.align(); }, show: function() { console.log(‘blah blah blah’); super.show(); } }); 我尝试了PrimeFaces.widget.Xxx.extend({…})但在这种情况下,我无法访问super方法。 请记住,我对Javascript完全愚蠢 谢谢

我可以替换或修改jQuery UI小部件上的函数吗? 怎么样? (猴子补丁)

如果我想调整一些jQuery UI对象的function,通过替换其中一个函数,我将如何去做呢? 示例:假设我想修改jQuery自动完成小部件呈现建议的方式。 自动完成对象上有一个方法如下所示: _renderItem: function( ul, item) { return $( “” ) .data( “item.autocomplete”, item ) .append( “” + item.label + “” ) .appendTo( ul ); }, 我可以替换它吗? 我想这可能叫做Monkey Patching 。 怎么样? 我会用什么语法?