मैं जब strict mode
में उल्लिखित here मूल विचार के बारे में this
एक method
में किया जा रहा नहीं मिलता है, लेकिन यह थोड़ा बहुश्रुत हो जाता है, ईमानदार होना। तो, में और अधिक नीरस शर्तें:jQuery कॉलबैक - सख्त उल्लंघन
मैं बहुत की तरह एक हैंडलर है:
$('.myClass').one('keyup', function() {
var $this = $(this);
etc etc
});
मैं यह करने के लिए इसे बदलना चाहते:
function myFunction() {
var $this = $(this);
etc etc
};
$('.myClass1').one('keyup', myFunction);
$('.myClass2').one('keyup', myFunction); etc
यह क्योंकि strict mode
में यह पसंद नहीं करता क्योंकि मैं एक विधि के बाहर this
का उपयोग कर रहा हूँ। मै समझ गया।
हालांकि, मैं क्योंकि (1) यह विभिन्न कक्षाओं/तत्वों और (2) मैं .off().one('keyup', myFunction)
उपयोग कर रहा हूँ विभिन्न बिंदुओं पर विभिन्न कक्षाओं के लिए one
हैंडलर रीसेट करने से अनुलग्न है, हैंडलर को myFunction
अलग की आवश्यकता है।
तो this
व्यवसाय का उल्लंघन किए बिना मैं अलग कॉलबैक फ़ंक्शन कैसे प्राप्त करूं?
प्रश्न के स्वीकार किए जाते हैं जवाब का प्रयास करें फ़ंक्शन कथन को फ़ंक्शन अभिव्यक्ति के साथ प्रतिस्थापित करने के लिए आप सुझाव देते हैं। क्या आपने कोशिश की? –
सख्त मोड – Imdad
का उपयोग न करें फ़ंक्शन के अंदर इसका उपयोग करने में कुछ भी गलत नहीं है। यह देखते हुए कि "विधियों" वास्तव में वस्तुओं से संबंधित नहीं हैं (वे केवल वे गुण हैं जो _somewhere_ परिभाषित कार्यों को संदर्भित करते हैं, और संभवतः अन्य वस्तुओं के साथ साझा किए जाते हैं) मुझे नहीं लगता कि आपत्ति क्या है। – nnnnnn