PDA

Просмотр полной версии : Как поймать rollOver при помощи событийной модели?


Gaen
15.06.2009, 14:31
Есть мувик, на него вешается обработчик. Появилась необходимость навесить ещё один, независимый от второго (пихнуть всё в один никак). Получается второй обработчик затирает первый. Хочется по-нормальному подписаться на соответствующее событие, как в AS3. Не хочется насиловать комп через mouseMove и hitTest. На AS1/2 такое реально?

etc
15.06.2009, 14:45
Ооочень грубый пример:
function registerListener(name, func) {
var f = this[name];

if (typeof f != 'function') {
f = function() {
var h = arguments.callee.handlers;
var i = 0;
var l = h.length;

for ( i = 0; i < l;i++) {
var ff = h[i];
ff.call(this);
}
}
f.handlers = new Array();
this[name] = f;
}

f.handlers.push(func);
}
function handler1() {
trace('handler1');
}
function handler2() {
trace('handler2');
}
function handler3() {
trace('handler3');
}
this.registerListener('onMouseMove', handler1);
this.registerListener('onMouseMove', handler2);
this.registerListener('onMouseDown', handler3);