扩展原生元素
可以扩展本机元素,但它们的后代不具有自己的标记名称。相反,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" />