The jQuery project is moving towards putting more and more functionality in fewer methods, instead of having separate methods for every separate thing.
The methods bind
, live
and delegate
have all been replaced by the single method on
, where you use parameters of different types to determine what the method does.
Comparison:
$(sel).bind(event, f); = $(sel).on(event, f);
$(sel).live(event, f); = $(document.body).on(event, sel, f);
$(sel).delegate(sel2, event, f) = $(sel).on(event, sel2, f);
If you are using live
, you should replace that, as the usage of that method is a bit awkward. Also, the live
method creates a delegate on the body element, and you should try to bind the delegate to a closer scope.
If you are using bind
and delegate
it's no panic to replace them with on
right away. You can do that in new code, and in code that you edit anyway, but those methods are not about to go away in the nearest future.