Telerik's documentation for the RadControls client side is better than most. I rarely hit an article so stale that the sample no longer runs, which is more than I can say for a lot of vendor docs. That is the good half of the truth. The other half is that a large amount of the client side API is simply not written up, either because it never got documented or because the docs lag the code. When you need one of those undocumented functions, reading is not going to save you. You debug it live.

The original version of this post leaned on Firebug, which has been dead for years now, folded into the Firefox developer tools. Ignore that part. Everything here works the same in the built in tools of any current browser, so reach for Chrome or Firefox devtools and move on.

The workflow stops being intimidating the moment you treat Telerik's client objects as something you can read at runtime rather than a black box.

  1. Open devtools and go to the Sources panel.
  2. Find the client side function you want to watch. The RadControls scripts are minified, so hit the pretty print button so you can actually follow what you are stepping through.
  3. Click the gutter next to the line to drop a breakpoint.
  4. Perform the action on the page that calls the function. Execution stops cold on your line.
  5. In the scope pane, expand sender and args. This is where the real discovery happens, because every method and property hanging off those objects is sitting right there in front of you whether or not it ever made the documentation.

The step people skip is the console. With execution paused on the breakpoint, switch to the Console tab and start typing against the live objects. Anything in scope at that line is yours to call, so you can invoke a method on sender, read a property off args, and watch what comes back before you commit a single line of it to your actual code. You are not guessing at the API from a doc page. You are reading it off the running control.