Я пытаюсь пример из google developer site, и я получаю ошибку: «TypeError:. Illegal конструктор Что не так и как это исправитьКак создать новый экземпляр расширенного класса пользовательских элементов
class FancyButton extends HTMLButtonElement {
constructor() {
super(); // always call super() first in the ctor.
this.addEventListener('click', e => this.drawRipple(e.offsetX,e.offsetY));
}
// Material design ripple animation.
drawRipple(x, y) {
let div = document.createElement('div');
div.classList.add('ripple');
this.appendChild(div);
// div.style.top = `${y - div.clientHeight/2}px`;
// div.style.left = `${x - div.clientWidth/2}px`;
div.style.backgroundColor = 'currentColor';
div.classList.add('run');
div.addEventListener('transitionend', e => div.remove());
}
}
customElements.define('fancy-button', FancyButton, {extends: 'button'});
let button = new FancyButton();
button.textContent = 'Fancy button!';
button.disabled = true;
?
Какой браузер (версия) вы используете? – Bergi
Ни один из существующих браузеров не поддерживает [Custom Elements v1] (http://caniuse.com/#feat=custom-elementsv1). –
С сайта разработчика: Chrome 54 (status) имеет пользовательские элементы v1. Safari начал прототипирование, и вы можете тестировать API в WebKit в ночное время. Edge начал прототипирование. Mozilla имеет открытую ошибку для реализации. – Barmar