on()jQuery के अधिकांश इवेंट फ़ंक्शंस को एक में विलय करने का प्रयास है। इसमें liveबनाम के साथ अक्षमताओं को ध्यान में रखते हुए जोड़ा गया बोनस है delegate। JQuery के भविष्य के संस्करणों में, इन विधियों को हटा दिया जाएगा और केवल onऔर oneछोड़ दिया जाएगा।
उदाहरण:
// Using live()
$(".mySelector").live("click", fn);
// Equivalent `on` (there isn't an exact equivalent, but with good reason)
$(document).on("click", ".mySelector", fn);
// Using bind()
$(".mySelector").bind("click", fn);
// Equivalent `on`
$(".mySelector").on("click", fn);
// Using delegate()
$(document.body).delegate(".mySelector", "click", fn);
// Equivalent `on`
$(document.body).on("click", ".mySelector", fn);
आंतरिक रूप से, jQuery इन सभी तरीकों और शॉर्टहैंड ईवेंट हैंडलर के नक्शे को तय करता on()है, आगे संकेत करता है कि आपको इन तरीकों को अभी से अनदेखा करना चाहिए और बस उपयोग करना चाहिए on:
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
live: function( types, data, fn ) {
jQuery( this.context ).on( types, this.selector, data, fn );
return this;
},
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
Https://github.com/jquery/jquery/blob/1.7/src/event.js##965 देखें ।