Расширение элемента в MooTools дает ошибку Uncaught TypeError: невозможно вызвать метод «набор» из нуля

У меня есть очень простой скрипт MooTools:

var MyElement = new Class({
    Extends: Element
});

что дает ошибку: Uncaught TypeError: Cannot call method 'set' of null

Я использую MooTools 1.4.5, полный без совместимости.

Если я изменю класс, который он распространяется на любой другой класс, он работает нормально.

Что тут происходит? Это ошибка?

РЕДАКТИРОВАТЬ:

То же самое происходит и с Implements: Element!


person Tucker Connelly    schedule 05.05.2013    source источник


Ответы (1)


Как указано на этой странице:

элемент не расширяемый, так как это не настоящий класс.

Это связано с тем, что это в основном оболочка интерфейса («прокси») вокруг собственных внутренних классов вашего браузера, обертывающая «настоящие» элементы. Однако для этого есть «обходной путь» с помощью функции toElement. Если вы реализуете его для объекта или класса, передача класса в функцию $ автоматически вызовет его, поэтому ваш класс будет вести себя полностью как элемент и позволит вам использовать агрегацию вместо (ошибочного!) наследования для переноса элементов браузера. .

Пример toElement.

person Niels Keurentjes    schedule 05.05.2013