का उपयोग करने की तुलना में एक jQuery वर्ग सेट में श्रोता जोड़ने की क्षमता प्रारंभिक प्रवृत्त मुझे बताते हैं कि श्रोता जोड़ना, या तो तत्वों के एक jQuery सेट पर बाइंड या सीधा घटना विधि का उपयोग करना, जैसे
$('.className').click(funcName);
ज्यादा एक ही सेट करने के लिए एक के बाद एक श्रोता एक जोड़ने के लिए एक $ .प्रत्येक विधि का उपयोग, के रूप में की तुलना में अधिक उचित है ...
$('.className').each(function(){ $(this).click(funcName); });
लेकिन जब विकास प्लगइन की बात आती है , ए और आप पेज लोड के बाद और पृष्ठ लोड के बाद लंबे समय तक अपने प्लगइन के दौरान कई बार अपनी प्लगइन के उदाहरण को कॉल करने वाले उपयोगकर्ताओं की संभावना से निपट रहे हैं, क्या यह कोशिश करने के बजाए प्रत्येक तत्व को हैंडलर लागू करना गलत है अपने वैश्विक वर्ग सेट में हैंडलर अमूर्त?
मेरा मुख्य प्रश्न मैं इस बात से निपट रहा हूं कि "ईवेंट हैंडलिंग की बात आने पर प्लगइन के कई उदाहरणों से निपटने का सबसे अच्छा तरीका क्या है? वर्कलोड को कम करने के लिए?" मुझे पता है कि हम बांध सकते हैं और बाध्य कर सकते हैं, लेकिन क्या कोई बेहतर तरीका है?
संपादित
आंशिक प्लगइन से कोड का निर्माण
init : function(){
this.each(function(opts){
// adding event handlers here removes
// the need to worry about multiple instances
// and duplicate handles over the lifetime of the page
});
// adding 'global' handlers here may/may not be more
// efficient, but adds an issue of multiple instances
return this;
}
'$ ('className')। क्लिक करें 'शायद कुछ चरण में' .each()' आंतरिक रूप से उपयोग करेगा। –
मैंने वास्तव में यह सोच लिया है ... – anson
देखें: https://github.com/jquery/jquery/blob/1.7.2/src/event.js#L936 ('.click' कॉल' .on')। –