मैं आमतौर पर अपनी स्क्रिप्ट में jQuery लाइब्रेरी को शामिल करने से बचता हूं, हालांकि मैं हाल ही में jQuery मूल्य $ .data() की मुख्य कार्यक्षमता के रूप में डेटा जोड़ने के लिए कार्य करने की क्षमता, ऑब्जेक्ट & किसी भी के साथ कार्य करता हूं तत्व।
जो मैंने पढ़ा है, उससे jQuery की $ .data() फ़ंक्शन भी सुरक्षा उपायों में बनाया गया है जो इस तरह के प्रथाओं से जुड़े स्मृति रिसाव को रोकता है, लेकिन उस एकल फ़ंक्शन के लिए संपूर्ण जेक्यू लाइब्रेरी को शामिल करना अधिक है।
क्या किसी को मूल विकल्प के बारे में पता है?
संपादित करें खुद को और स्पष्ट करने के लिए, मैं तत्व विशेषताओं को पुनर्प्राप्त करने के लिए मूल कार्य नहीं ढूंढ रहा हूं। jQuery की $ .data() एपीआई जावास्क्रिप्ट ऑब्जेक्ट्स & jQuery तत्व नोड्स के साथ फ़ंक्शंस को जोड़ने की क्षमता के विस्तार से इस तरह के उपयोग से बहुत दूर है।
यह लेख (http://tutorialzine.com/2010/11/jquery-data-method/) इस प्रयोग पर छू लेती है, लेकिन मैं वर्तमान में इसका उपयोग कर रहा हूँ एक उदाहरण के रूप एक वस्तु के साथ एक GSAP समय एनीमेशन संबद्ध करने के लिए, ताकि मैं पहुँच सकते हैं और के बाहर GSAP समय के .reverse() एनीमेशन समारोह कॉल कर सकते हैं वह कार्य जो इसे बनाया गया है। उदाहरण के लिए:
function doAnimation(){
var element = document.createElement('div'),
timeline = new TimelineMax({....GSAP related fns...}),
options = {
....
timeline: timeline
};
$(element).data('options', options);
}
function reverseAnimation($element){
var options = $element.data('options'),
previouslyCreatedTimeline = options.timeline;
previouslyCreatedTimeline.reverse();
}
शायद नहीं स्पष्ट उदाहरण है अगर आप GSAP के एक उपयोगकर्ता नहीं हैं, लेकिन संक्षेप में, $ .data() विधि मुझे एक तत्व के साथ एक जावास्क्रिप्ट वस्तु संबद्ध करने के लिए अनुमति दी है, ताकि मैं अपने मूल दायरे के बाहर किसी फ़ंक्शन में इसकी विधियों तक पहुंच सकते हैं।
संभावित डुप्लिकेट [जावास्क्रिप्ट का उपयोग कर डेटा विशेषता सेट करें] (http://stackoverflow.com/questions/11286661/set-data-attribute-using-javascript) – DrCord
नहीं, डुप्लिकेट नहीं। यद्यपि jquery की डेटा फ़ंक्शन विधि मुख्य रूप से किसी तत्व पर डेटा विशेषताओं के लिए उपयोग की जाती है, लेकिन मैं इसे वास्तविक जावास्क्रिप्ट ऑब्जेक्ट्स – AJeezy9
से संबद्ध करने के लिए इसके उपयोग की बात कर रहा हूं, आप 'document.getElementById ("foo") जैसी कुछ क्यों नहीं कर सकते हैं। बार = {बाज़: फ़ंक्शन() {}} '? –