Jquery .on() method not working on dynamic content

A page that executes javascript every time an input field it checked and also load new data thru ajax.

My jquery selector

$(".te_multiselect_checkbox").on("change", function( e ) {} 

was not working on the new content. When I ran $(‘.te_multiselect_checkbox’) in the console before the new content was retrieve I would get http://x-v.it/uploads/capit/ge/n3/8y.jpg but after the new content was loaded I got

http://x-v.it/uploads/capit/4q/7x/s1.jpg
(x.fn.x.init)
I dont know if this happens because the page was architect to do so or javascript is doing it.

What I learned is the selector is not getting the new content change the selector to

$(document.body).on('change', '.te_multiselect_checkbox', function( e ) {}

Here is the explanation:
http://stackoverflow.com/questions/15090942/jquery-on-method-not-working-on-dynamic-content
http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements

tags:
jquery maintain selector when new ajax content
jquery get by class more than 100