исследовал глубже, потратил 3,5 часа где-то на поиски лечения. Надо заменить if (!this.check(arguments.callee, properties)) return this;
на if (!this.check(this.start, properties)) return this;
в Fx.Morph::start
вместо var li = new Element('li'); li.set('text', option.get('text') ); li.inject( this.selectbox ); li.setProperty('index', option.index);
можно писать var li = new Element('li') .set('text', option.get('text') ) .inject( this.selectbox ) .setProperty('index', option.index);
if (!this.check(arguments.callee, properties)) return this;
на
if (!this.check(this.start, properties)) return this;
в Fx.Morph::start
this.parent undefined после первого этапа анимации. Возможно баг с Class Extends, глубже пока не смотрел в чём причина.
код из mootools, для safari2 нужен innerText
this.currentElement = li;
this.currentElement.addClass('selected');
можно
this.currentElement=li.addClass('selected');
var li = new Element('li');
li.set('text', option.get('text') );
li.inject( this.selectbox );
li.setProperty('index', option.index);
можно писать
var li = new Element('li')
.set('text', option.get('text') )
.inject( this.selectbox )
.setProperty('index', option.index);
new Event(e)
,e
уже расширен спомощьюnew Event
, это происходит автоматически.