jQuery 1.9 removed $.browser and .live()

jQuery 1.9 shipped in January and removed a set of methods that had been deprecated for years but were still everywhere: $.browser, .live(), .die(), the two-function form of .toggle() and most of $.support. Upgrading a site that has accumulated five years of plugins breaks it quietly, in whichever widget happened to use one.

// removed in 1.9
if ($.browser.msie) { … }
$('.row .delete').live('click', remove);
$('#panel').toggle(openPanel, closePanel);

// the replacements
if (!('placeholder' in document.createElement('input'))) { … }
$('#orders').on('click', '.delete', remove);
$('#panel').on('click', togglePanel);

The intended path is the jQuery Migrate plugin, which restores the removed APIs and logs a warning with a URL for each one it catches — a diagnostic, not a destination, and leaving it in production means shipping the code you were trying to delete. Read the warnings, fix the calls, then drop it. Two of the translations are less mechanical than they look. .live() maps to $(document).on(), which reproduces the cost that made .live() a bad idea, so bind to the nearest container instead. And .toggle() exists in two unrelated forms — the click alternator is gone, the show/hide one stayed — which is why the migrate warning for it reads as a false positive.