擴充套件原生元素
可以擴充套件本機元素,但它們的後代不具有自己的標記名稱。相反,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" />