2010-10-03 17 views
7

क्या कोई मुझे बता सकता है कि क्लोजर अधिक उपयोगकर्ता के अनुकूल रूप में कैसे काम करता है? इसकी मदद और दस्तावेज मुझे कहीं भी नहीं ले जाता है। आप एक सरल कार्य कैसे करते हैं जैसे कि डोम को चुनना और संशोधित करना (उदा। पेज पर सभी का चयन करें और उन्हें छुपाएं)?भ्रमित Google बंद पुस्तकालय एपीआई

उत्तर

7

http://derekslager.com/blog/posts/2010/06/google-closure-introduction.ashx देखें, तुलना # 4,

छिपाएं सभी div की:

<html> 
<head> 
<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js" type="text/javascript"></script> 
<script language="JavaScript"> 
    goog.require('goog.dom.query'); 
    goog.require('goog.style'); 
</script> 
<script> 
    function HideElement(selector) { 
    goog.array.map(goog.dom.query(selector, null), function(e) { 
     goog.style.showElement(e, false); 
    }); 
    } 
</script> 
</head> 
<body> 
    <div>div</div> 
    <p>paragraph</p> 
    <div>another div</div> 
    <input type="button" value="hide" onclick="HideElement('div');"/> 
</body> 
</html> 

, हालांकि उपयोगकर्ता के अनुकूल टूटने के साथ तुम्हारी मदद नहीं कर सकते।

+1

अच्छा स्रोत। धन्यवाद। – jirkap

+0

यह Google खोजों में वास्तव में उच्च दिखता रहता है, क्या आप मुझे बता सकते हैं कि query.js कहां जाता है? google_pary में query_test.html ठीक काम करता है लेकिन जब मैं google/dom में query.js जोड़ता हूं और आवश्यकता कथन goog.dom.query अभी भी उपलब्ध नहीं है। – HMR

+0

deps.js फ़ाइल में goog निर्देशिका में मैंने goog.addDependency ('dojo/dom/query.js' बदल दिया, और यह काम किया। – HMR

2

मैंने सोचा कि एपीआई दस्तावेज़ पहले वास्तव में बहुत अच्छे थे, लेकिन कोड की कुछ सौ पंक्तियां लिखने के बाद मैंने सभी प्रकार के quirks और समस्याओं में भाग लिया है। उदाहरण के लिए, डोम मॉड्यूल प्रलेखन में डोम मैनिपुलेशन विधियों की खोज के लिए एक स्पष्ट प्रविष्टि बिंदु नहीं है -> सभी शीर्ष-स्तरीय लिंक आंतरिक वस्तुओं का उपयोग करने वाली सहायक वस्तुओं को हैं। आप कुछ उपयोगी तरीकों को पा सकते हैं हालांकि पैकेज संदर्भ सूची में आप डोम पर क्लिक करते हैं, फिर DomHelper। ऐसा लगता है कि आपको उन उपकरणों तक पहुंच प्राप्त करने के लिए डोमहेल्पर को तुरंत चालू करने की आवश्यकता है?

सौभाग्य से वे में सभी API दस्तावेज़ों में कोड में आसान लिंक शामिल हैं। यदि आप DomHelper स्रोत में चारों ओर पोक करते हैं तो आप देखेंगे कि अधिकांश सूचीबद्ध विधियां सीधे goog.dom नेमस्पेस से उपलब्ध हैं!

मेरा अन्य प्रमुख पकड़ यह है कि दस्तावेज़ प्रायः तर्क प्रकार/नाम/विवरण सूचीबद्ध नहीं करते हैं। उदाहरण के लिए यदि आप goog.dom.DomHelper.contains का विस्तार करते हैं तो यह किसी भी तर्क की सूची नहीं देता है, लेकिन कोड दो तर्कों को सही ढंग से एनोटेट करता है। मुझे विश्वास नहीं है कि उन्होंने इस तरह की पूरी तरह से एनोटेटेड और प्रलेखित लाइब्रेरी बनाई है और फिर उस जानकारी को (जेनरेटेड) दस्तावेज़ों में शामिल करने में असफल रहा! हालांकि उनके कोड ब्राउज़ करते समय आपको अक्सर उनकी टिप्पणियों में झटके और अनौपचारिक टिप्पणियां मिलती हैं।

तो संक्षेप में: कोड पढ़ें! मैं हमेशा उस जवाब को सुनने से नफरत करता हूं लेकिन यह अभी सबसे अच्छा विकल्प प्रतीत होता है।

मेरे पास O'Reilly क्लोजर बुक भी है, और हालांकि यह कुछ अंतर्दृष्टि प्रदान करता है, लेकिन वास्तव में लाइब्रेरी में उपलब्ध बुनियादी पैटर्न और टूल का उपयोग करके यह बहुत गहराई से नहीं है। मैं वास्तव में पुस्तकालय के कुछ हिस्सों को बातचीत करने के इरादे से बेहतर तरीके से देखना चाहूंगा। मुझे लगता है कि किसी को क्लोजर-टूल्स कुकबुक बनाना चाहिए?

+0

मुझे दस्तावेज़ में चारों ओर दस्तावेज़ों के चारों ओर पोकिंग मिलती है। सब कुछ ठीक है टिप्पणी की। – Ally

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