JavaScript Extension d'éléments natifs


Exemple

Il est possible d'étendre les éléments natifs, mais leurs descendants ne peuvent pas avoir leurs propres noms de balises. Au lieu de cela, l' is - attribut est utilisé pour spécifier la sous - classe un élément est censé utiliser. Par exemple, voici une extension de l'élément <img> qui enregistre un message sur la console lorsqu'elle est chargée.

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" />