2011-02-01 3 views
11

मैं लाइव और बाइंड के बीच के अंतर को समझता हूं लेकिन मुझे नीचे दिखाए गए 'मानक' ईवेंट विधि पर .bind() का उपयोग कब करना चाहिए।JQuery में जब आप .bind() over .click() - या किसी अन्य दिए गए ईवेंट का उपयोग करते हैं?

क्या इन दो कॉलों के तरीके में कोई महत्वपूर्ण अंतर है?

$('.clickme').bind('click', function() { 
    // Handler called. 
}); 

$('.clickme').click(function() { 
    // Handler called. 
}); 
+1

वे कार्यान्वयन के समान हैं, केवल एक शॉर्टकट –

उत्तर

11

उपयोग कर सकते हैं। हालांकि, bind() का उपयोग करके आप namespaced events का उपयोग कर सकते हैं। यह especially useful when writing plugins है।

+1

आह बहुत दिलचस्प है। इस और अधिक देख रहे होंगे। धन्यवाद @ शॉन चिन – Nalum

+0

आपका स्वागत है! –

2

वे वही हैं। here

+0

हाँ वही! सवाल यह है कि हम इसका इस्तेमाल कब करेंगे ..? देर हो चुकी है लेकिन जरूरत है। –

0

मैं उपलब्ध होने पर स्पष्ट विधियों का उपयोग करता हूं। जब खिड़की के लिए कोई विधि उपलब्ध नहीं होती है तो मैं बाइंड का उपयोग करता हूं।

बाइंड का उपयोग करने के लिए दूसरी बार यह है कि यदि आप "लाइव" और "बाइंड" के बीच विकास और स्विचिंग कर रहे हैं।

4
"बाँध" में

आप वे प्रभावी ढंग से एक ही कर रहे हैं कई घटनाओं

$('#foo').bind('mouseenter mouseleave', function() { 
    $(this).toggleClass('entered'); 
}); 
0

उपयोग .bind जब आप "event.namespace" करने के लिए बाध्य करना चाहते हैं

Actaully लगभग हमेशा .bind का उपयोग करें और लगभग हमेशा नामस्थान का उपयोग करें।

+0

@ रेनोस - इसके लिए कोई विशेष कारण? केवल नामस्थान का उपयोग करने का क्या फायदा है? – dopatraman

+0

@ कोडेनिनजा '.unbind ("नेमस्पेस")' नोड पर नामस्थान के लिए सभी घटनाओं को अनइंड करने की क्षमता सोने है। – Raynos

संबंधित मुद्दे