2012-09-28 20 views
16

निम्नलिखित दो विधियों के बीच कोई अंतर है? # 2 से # 1 तेज है?

#1 
$('#selector').on('click',function(){ 
    $(this)... 
    // do stuff with clicked element 
}) 

and 

#2 
$('#selector').on('click',function(e){ 
    $(e.currentTarget).... 
    // do stuff with clicked element 
}) 
+1

प्रलेखन (http://api.jquery.com/ पढ़ना नहीं event.currentTarget /) आपको जवाब देना चाहिए था। – j08691

+0

यह बग रिपोर्ट प्रासंगिक है: http://bugs.jquery.com/ticket/11756। आधिकारिक तौर पर 'इस' का उपयोग करें क्योंकि वे मानते हैं कि 98% क्या कर रहे हैं। – Medorator

उत्तर

15

लगता है जैसे वे ज्यादातर मामलों में बराबर हैं, हालांकि "इस" आसान लगता है http://api.jquery.com/event.currentTarget/

event.currentTarget

के अनुसार

टाइप करने के लिए यह संपत्ति आम तौर पर बराबर होगा समारोह के this

आप jQuery.proxy या गुंजाइश हेरफेर का एक और रूप का उपयोग कर रहे हैं, तो this जो कुछ संदर्भ आपके द्वारा दिए गए के बराबर होगा, event.currentTarget

+1

इस उत्तर के लिए धन्यवाद - मैं एक ईसीएमए 5। बाइंड() कॉल का उपयोग करने के लिए एक ईवेंट हैंडलर बदलना चाहता था, लेकिन यह पता नहीं लगा सका कि मूल दोनों को कैसे प्राप्त किया जाए। यह संदर्भ और नया। यह संदर्भ। –

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