2012-04-20 8 views
7

यह महानcoffeescript वसा तीर का उपयोग नहीं माता-पिता 'इस'

@nav.on 'click', -> 
     _this.mover _this.nav.index $(@) 

काम करता है लेकिन इस

@nav.on 'click', => 
     @mover @nav.index $(????) 

जैसे मैं अगर मैं एक वसा तीर का उपयोग कर सकते सोच रहा हूँ के बजाय लेकिन क्या मैं स्थान पर रखा जाएगा @ का परिणाम this_this के बजाय होगा?

उत्तर

15

jQuery ईवेंट हैंडलर्स एक तर्क के रूप में एक घटना वस्तु हो और उस घटना वस्तु target और currentTarget गुण है:

@nav.on 'click', (ev) => 
    @mover @nav.index $(ev.currentTarget) 

आप अपने विशिष्ट परिस्थितियों के आधार पर other properties of ev में से एक चाहते हो सकता है।

+3

यदि संभवतः आपकी '@ nav' प्रविष्टियों ने तत्वों को घोंसला दिया है तो आपको शायद' ev.currentTarget' का उपयोग करना चाहिए - वंश संग्रह में नहीं पाए जाएंगे। –

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