खोज…


वाक्य - विन्यास

  • .prototype.createdCallback ()
  • .prototype.attachedCallback ()
  • .prototype.detachedCallback ()
  • .prototyp.attributeChangedCallback (नाम, पुरानेवैल्यू, न्यूवैल्यू)
  • document.registerElement (नाम, [विकल्प])

पैरामीटर

पैरामीटर विवरण
नाम नए कस्टम तत्व का नाम।
options.extends मूल तत्व का नाम बढ़ाया जा रहा है, यदि कोई हो।
options.prototype कस्टम प्रोटोटाइप कस्टम तत्व के लिए उपयोग करने के लिए, यदि कोई हो।

टिप्पणियों

ध्यान दें कि कस्टम तत्व विनिर्देश अभी तक मानकीकृत नहीं हुआ है, और परिवर्तन के अधीन है। प्रलेखन उस संस्करण का वर्णन करता है जिसे इस समय क्रोम स्थिर में भेज दिया गया है।

कस्टम तत्व एक HTML5 सुविधा है जो डेवलपर्स को संबंधित शैलियों और व्यवहारों के साथ अपने पृष्ठों में उपयोग किए जा सकने वाले कस्टम HTML टैग्स को परिभाषित करने के लिए जावास्क्रिप्ट का उपयोग करने की अनुमति देता है। वे अक्सर साथ उपयोग किए जाते हैं।

नए तत्वों का पंजीकरण

परिभाषित करता है एक <initially-hidden> कस्टम तत्व जो अपनी सामग्री को तब तक छुपाता है जब तक कि निर्दिष्ट सेकंड समाप्त न हो जाए।

const InitiallyHiddenElement = document.registerElement('initially-hidden', class extends HTMLElement {
  createdCallback() {
    this.revealTimeoutId = null;
  }

  attachedCallback() {
    const seconds = Number(this.getAttribute('for'));
    this.style.display = 'none';
    this.revealTimeoutId = setTimeout(() => {
      this.style.display = 'block';
    }, seconds * 1000);
  }

  detachedCallback() {
    if (this.revealTimeoutId) {
      clearTimeout(this.revealTimeoutId);
      this.revealTimeoutId = null;
    }
  }
});
<initially-hidden for="2">Hello</initially-hidden>
<initially-hidden for="5">World</initially-hidden>

मूल तत्वों का विस्तार

देशी तत्वों को सीमित करना संभव है, लेकिन उनके वंशजों को अपने स्वयं के टैग नाम नहीं मिलते हैं। इसके बजाय, is विशेषता है जो उपवर्ग एक तत्व उपयोग माना जाता है निर्दिष्ट करने के लिए प्रयोग किया जाता है। उदाहरण के लिए, यहां <img> तत्व का विस्तार है जो लोड होने पर कंसोल को संदेश भेजता है।

const prototype = Object.create(HTMLImageElement.prototype);
prototype.createdCallback = function() {
  this.addEventListener('load', event => {
      console.log("Image loaded successfully.");
  });
};

document.registerElement('ex-image', { extends: 'img', prototype: prototype });
<img is="ex-image" src="http://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon.png" />


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow