`, `<img>`, आदि। लेकिन, कभी-कभी आपको ऐसे तत्वों की आवश्यकता होती है जो इन मानक टैगों द्वारा प्रदान नहीं किए जाते हैं। ऐसे मामलों में, आप कस्टम एचटीएमएल तत्व बना सकते हैं।
कस्टम एचटीएमएल तत्व वेब घटकों (Web Components) का एक महत्वपूर्ण हिस्सा हैं। वेब घटक एक ऐसा सेट है जो आपको पुन: प्रयोज्य (reusable) एचटीएमएल तत्वों को बनाने की अनुमति देता है जो इनकैप्सुलेटेड (encapsulated) होते हैं - यानी, उनकी शैली और स्क्रिप्ट अन्य भागों से अलग होती है।
कस्टम एचटीएमएल तत्वों के लाभ
कस्टम एचटीएमएल तत्वों का उपयोग करने के कई लाभ हैं:
- पुन: प्रयोज्यता: आप एक बार एक कस्टम तत्व बना सकते हैं और इसे अपनी वेबसाइट या वेब एप्लिकेशन में कई बार उपयोग कर सकते हैं।
- मॉड्यूलरिटी: कस्टम तत्व आपके कोड को अधिक मॉड्यूलर और व्यवस्थित बनाते हैं।
- अनुकूलन: आप कस्टम तत्वों को अपनी विशिष्ट आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं।
- कोड रखरखाव: कस्टम तत्वों के साथ, कोड को समझना और बनाए रखना आसान हो जाता है।
- पुन: उपयोगिता: विभिन्न परियोजनाओं में तत्वों को पुन: उपयोग किया जा सकता है, जिससे विकास समय कम हो जाता है।
कस्टम एचटीएमएल तत्व कैसे बनाएं?
कस्टम एचटीएमएल तत्व बनाने के लिए, आपको निम्नलिखित चरणों का पालन करना होगा:
1. एक क्लास बनाएं: सबसे पहले, आपको एक जावास्क्रिप्ट क्लास बनानी होगी जो आपके कस्टम तत्व का प्रतिनिधित्व करेगी। यह क्लास `HTMLElement` क्लास से इनहेरिट (inherit) होनी चाहिए।
2. कस्टम एलिमेंट को परिभाषित करें: `customElements.define()` विधि का उपयोग करके अपने कस्टम तत्व को परिभाषित करें। इस विधि को तीन तर्क दिए जाते हैं: तत्व का नाम (उदाहरण के लिए, `"my-element"`), क्लास जो तत्व का प्रतिनिधित्व करती है, और वैकल्पिक रूप से, विकल्प।
3. तत्व के गुणों और विधियों को परिभाषित करें: अपनी क्लास में, आप अपने कस्टम तत्व के गुणों और विधियों को परिभाषित कर सकते हैं। ये गुण और विधियां आपके तत्व के व्यवहार को नियंत्रित करेंगे।
4. तत्व को एचटीएमएल में उपयोग करें: एक बार जब आप अपने कस्टम तत्व को परिभाषित कर लेते हैं, तो आप इसे एचटीएमएल में अन्य एचटीएमएल तत्वों की तरह उपयोग कर सकते हैं।
उदाहरण
मान लीजिए कि हम एक कस्टम तत्व बनाना चाहते हैं जो एक साधारण संदेश प्रदर्शित करता है। यहाँ कोड का एक उदाहरण दिया गया है:
```javascript
class MyMessage extends HTMLElement {
constructor() {
super();
this.shadow = this.attachShadow({ mode: 'open' });
}
connectedCallback() {
this.shadow.innerHTML = `यह एक कस्टम संदेश है!
`;
}
}
customElements.define('my-message', MyMessage);
```
इस कोड में, हमने एक क्लास `MyMessage` बनाई है जो `HTMLElement` क्लास से इनहेरिट होती है। इस क्लास में, हमने एक `connectedCallback()` विधि को परिभाषित किया है जो तब कॉल की जाती है जब तत्व दस्तावेज़ में जोड़ा जाता है। इस विधि में, हमने अपने तत्व के शैडो डोम (shadow DOM) में एक पैराग्राफ तत्व जोड़ा है जो एक संदेश प्रदर्शित करता है। अंत में, हमने `customElements.define()` विधि का उपयोग करके अपने कस्टम तत्व को `"my-message"` नाम से परिभाषित किया है।
अब आप इस तत्व को अपने एचटीएमएल में इस प्रकार उपयोग कर सकते हैं:
```html
<my-message></my-message>
```
यह आपके वेबपेज पर "यह एक कस्टम संदेश है!" प्रदर्शित करेगा।
शैडो डोम (Shadow DOM) क्या है?
शैडो डोम एक वेब घटक का एक महत्वपूर्ण हिस्सा है। यह एक अलग डोम (DOM) ट्री है जो आपके कस्टम तत्व के अंदर संलग्न होता है। शैडो डोम आपके तत्व की शैली और स्क्रिप्ट को अन्य भागों से अलग करता है, जिससे यह सुनिश्चित होता है कि आपके तत्व का व्यवहार अप्रत्याशित रूप से प्रभावित नहीं होता है।
शैडो डोम का उपयोग करने के लिए, आप `attachShadow()` विधि का उपयोग कर सकते हैं। यह विधि एक शैडो रूट (shadow root) लौटाती है, जो आपके शैडो डोम का मूल तत्व है।
कस्टम तत्वों के साथ गुण (Attributes) का उपयोग करना
आप कस्टम तत्वों के साथ गुण (attributes) का उपयोग कर सकते हैं ताकि आप तत्व के व्यवहार को कॉन्फ़िगर कर सकें। उदाहरण के लिए, आप एक `message` गुण जोड़ सकते हैं जो प्रदर्शित संदेश को नियंत्रित करता है।
```javascript
class MyMessage extends HTMLElement {
constructor() {
super();
this.shadow = this.attachShadow({ mode: 'open' });
}
connectedCallback() {
this.render();
}
static get observedAttributes() {
return ['message'];
}
attributeChangedCallback(name, oldValue, newValue) {
if (name === 'message') {
this.render();
}
}
render() {
const message = this.getAttribute('message') || 'डिफ़ॉल्ट संदेश';
this.shadow.innerHTML = `${message}
`;
}
}
customElements.define('my-message', MyMessage);
```
इस कोड में, हमने `observedAttributes()` विधि का उपयोग करके बताया है कि हम `message` गुण को सुनना चाहते हैं। जब `message` गुण बदलता है, तो `attributeChangedCallback()` विधि कॉल की जाती है। इस विधि में, हम `render()` विधि को कॉल करते हैं, जो हमारे तत्व के शैडो डोम को अपडेट करता है।
अब आप इस तत्व को अपने एचटीएमएल में इस प्रकार उपयोग कर सकते हैं:
```html
<my-message message="यह एक कस्टम संदेश है!"></my-message>
```
यह आपके वेबपेज पर "यह एक कस्टम संदेश है!" प्रदर्शित करेगा। यदि आप `message` गुण को हटा देते हैं, तो यह डिफ़ॉल्ट संदेश प्रदर्शित करेगा।
कस्टम तत्वों के साथ इवेंट (Events) का उपयोग करना
आप कस्टम तत्वों के साथ इवेंट (events) का उपयोग कर सकते हैं ताकि आप तत्व के साथ उपयोगकर्ता की बातचीत को संभाल सकें। उदाहरण के लिए, आप एक `click` इवेंट जोड़ सकते हैं जो तब ट्रिगर होता है जब उपयोगकर्ता तत्व पर क्लिक करता है।
```javascript
class MyButton extends HTMLElement {
constructor() {
super();
this.shadow = this.attachShadow({ mode: 'open' });
}
connectedCallback() {
this.shadow.innerHTML = `<button>क्लिक करें</button>`;
this.shadow.querySelector('button').addEventListener('click', this.handleClick.bind(this));
}
handleClick() {
const event = new CustomEvent('my-click', {
bubbles: true,
composed: true
});
this.dispatchEvent(event);
}
}
customElements.define('my-button', MyButton);
```
इस कोड में, हमने एक `handleClick()` विधि को परिभाषित किया है जो तब कॉल की जाती है जब उपयोगकर्ता बटन पर क्लिक करता है। इस विधि में, हम एक कस्टम इवेंट `my-click` बनाते हैं और उसे डिस्पैच (dispatch) करते हैं।
अब आप इस तत्व को अपने एचटीएमएल में इस प्रकार उपयोग कर सकते हैं:
```html
<my-button></my-button>
<script>
document.querySelector('my-button').addEventListener('my-click', () => {
alert('बटन क्लिक किया गया!');
});
</script>
```
जब आप बटन पर क्लिक करेंगे, तो एक अलर्ट बॉक्स प्रदर्शित होगा जिसमें "बटन क्लिक किया गया!" लिखा होगा।
निष्कर्ष
कस्टम एचटीएमएल तत्व वेब विकास में एक शक्तिशाली उपकरण हैं। वे आपको अपनी वेबसाइटों और वेब अनुप्रयोगों को अधिक लचीला, अनुकूलनीय और पुन: प्रयोज्य बनाने की अनुमति देते हैं। इस लेख में, हमने कस्टम एचटीएमएल तत्वों की अवधारणा, उनके लाभ, निर्माण प्रक्रिया, और उपयोग के उदाहरणों को विस्तार से जाना। उम्मीद है कि यह लेख आपको कस्टम एचटीएमएल तत्वों को समझने और उनका उपयोग करने में मदद करेगा।
वेब घटक
एचटीएमएल
जावास्क्रिप्ट
शैडो डोम
कस्टम इवेंट
पुन: प्रयोज्यता
मॉड्यूलरिटी
अनुकूलन
कोड रखरखाव
वेब विकास उपकरण
जावास्क्रिप्ट फ्रेमवर्क
React
Angular
Vue.js
डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM)
एचटीएमएल सिमेंटिक्स
एक्सेसिबिलिटी (Accessibility)
वेब प्रदर्शन अनुकूलन
ब्राउज़र संगतता
कस्टम एचटीएमएल टैग
HTML5
CSS स्टाइलिंग
संबंधित रणनीतियाँ, तकनीकी विश्लेषण और वॉल्यूम विश्लेषण
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10)
Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें:
✓ दैनिक ट्रेडिंग सिग्नल
✓ विशेष रणनीति विश्लेषण
✓ बाजार की प्रवृत्ति पर अलर्ट
✓ शुरुआती के लिए शिक्षण सामग्री