Discussions
Stay up-to-date with the latest news from NetSuite. You’ll be in the know about how to connect with peers and take your business to new heights at our virtual, in-person, on demand events, and much more.
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Please note that on Saturday, April 18, 2026, at 8:00 PM Pacific Time, our Case Management System will undergo a scheduled maintenance for approximately 15 minutes. During this time, case creation via SuiteAnswers will be unavailable and inbound calls will be routed to Customer Service.
Not really SuiteScript, but JS question: overriding another objects methods
It isn't really overriding because the two objects are in the same hierarchy, it's more "hijacking".
What I want to do is have one object ("Mgr") hijack a method on an instance of another object ("Widget")
My real code is way complex and messy, but I banged out a very simple example that illustrates what I want. I'm sure this will show my js-rookie-ness but I'm stuck!
Basically, if you save the below code in a text file (with html extension) you should be good to go.
<html> <head> <title>javascript tester</title> <script> var m = new Mgr(); var w = new Widget(); function Widget() { this.setLabel = function() { alert('this is the Widget method'); } } function Mgr() { this._oldWidgetMethod = null; this.OverrideWidgetMethod = function() { this._oldWidgetMethod = w.setLabel; var self = this; w.setLabel = function() { self.setLabelOverride; }; } this.setLabelOverride = function() { this._oldWidgetMethod.apply(this, arguments); alert('this is the Mgr method'); } } </script> </head> <body> <input type=button value='Hijack Widget Method' onclick="m.OverrideWidgetMethod();"> <input type=button value='Invoke Widget Method' onclick="w.setLabel();"> </body> </html> Steve Klett | Senior Developer
NetValue Technology
0