Javascript/JQuery script placement in relation to HTML -


निम्न कोड स्निपेट कार्य करता है:

  & lt; id = "btnCapturePhoto" डेटा- भूमिका = "बटन" href = "# page1" & gt; कब्जा फोटो & lt; / a & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; $ ($ ("# BtnCapturePhoto")। क्लिक करें (फ़ंक्शन कैप्चर इमेज () {चेतावनी ('कैप्चर बटन क्लिक');})); & Lt; / स्क्रिप्ट & gt;   

यह कोड काम नहीं करता:

  & lt; script type = "text / javascript" & gt; $ ($ ("# BtnCapturePhoto")। क्लिक करें (फ़ंक्शन कैप्चर इमेज () {चेतावनी ('कैप्चर बटन क्लिक');})); & Lt; / स्क्रिप्ट & gt; & Lt; a id = "btnCapturePhoto" डेटा-रोल = "बटन" href = "# page1" & gt; कब्जा फोटो & lt; / a & gt;   

क्यों? स्क्रिप्ट टैग प्लेसमेंट और उन HTML टैग्स के बीच के रिश्ते को समझने में मुझे परेशानी हो रही है जिनके साथ वे संबद्ध हैं। कुछ मामलों में मैंने एचटीएमएल टैग के ऊपर एक स्क्रिप्ट टैग रखा है (जैसे कि JQueryIU दिनांकपिकर के लिए) और वह स्क्रिप्ट काम करता है, जैसे:

  & lt; script type = "text / javascript" & gt ; $ (फ़ंक्शन () {$ ("# myinput")। Datepicker ();}); & Lt; / स्क्रिप्ट & gt; & Lt; input type = "text" id = "myinput" / & gt;   

क्या कोई कृपया एचटीएमएल टैग के ऊपर या नीचे दिए गए कोड को कब समझा सकता है?

मैं ऊपर दिए गए उत्तरों से सहमत हूं, लेकिन मुझे लगता है कि इस मुद्दे की व्याख्या करने के लिए आपके लिए उपयोगी होगा और फिर भविष्य के लिए कुछ सलाह दें

उत्तर: ब्राउज़र आपके HTML को ऊपर से नीचे तक लोड करता है और इसलिए पहले अपना जावास्क्रिप्ट निष्पादित करता है। चूंकि आपका जेएस पहले लोड किया गया है, इसलिए वह तत्व अभी तक लोड नहीं हुआ है और इसलिए अभी तक मौजूद नहीं है।

सलाह: आमतौर पर यह आपके सीएसएस को अपने सिर और जेएस को अपने शरीर के अंत में टैग के ठीक पहले लोड करने के लिए अच्छी सलाह है।

 < कोड> & lt; html & gt; & Lt; शीर्ष & gt; & Lt;! - आपका सीएसएस यहां जाना चाहिए - & gt; & Lt; / head & gt; & LT; बॉडी & gt; & LT; SomeElement & gt; & lt; / SomeElement & gt; & LT; SomeElement & gt; & lt; / SomeElement & gt; & LT; SomeElement & gt; & lt; / SomeElement & gt; & Lt; script type = "text / javascript" gt; आपके जावास्क्रिप्ट कोड & lt; / script & gt; & lt; / body & gt; & lt; / html & gt;   

आप आमतौर पर यह करना चाहते हैं क्योंकि यह आपके डीओएम को जेएस कोड निष्पादित करने से पहले तैयार होने की अनुमति देगा.इसका मतलब है कि आप अपने कोड को निष्पादित करने से पहले तैयार होने वाली तैयार घटना को अपवर्तित कर सकते हैं। इसका मतलब यह भी है कि आपके पृष्ठ को बाहरी जेएस फ़ाइलों की आवश्यकता हो सकती है अपने उपयोगकर्ताओं को लोड करने के लिए थोड़ी देर के लिए डीओएम के कुछ हिस्सों को लोड किए जाने से पहले कम से कम देखा जा सकता है। यह आपके लाभ के लिए काम कर सकता है यदि आप एक बड़े बड़े पेज पेज को लोड कर रहे हैं। यह लिंक आपके वेब को डिजाइन करने के बारे में कुछ अच्छी जानकारी है पृष्ठ और संभवत: HTML, CSS और JS सीखने की आपकी यात्रा के साथ सहायक हो सकता है।

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -