Показать сообщение отдельно
  #4 (permalink)  
Старый 02.05.2009, 07:16
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Возможно, стоит еще кое-что подправить:

1. в commonHandle переменная handlers попадает в window. Нужно var добавить.

2. непонятно зачем в elem.handle проверка (typeof Event !== "undefined")
Возможно, на тот случай, когда обработчик будет добавляться к элементу из другого фрейма (или сам Event в другом фрейме, а элемент в текущем). Но и в этом случае Event должен быть доступен.

3. содержимое commonHandle вынесено в отдельную функцию. Вероятно для увеличения производительности Event.add, но это делается в ущерб производительности elem.handle, которая имеет заметно больший приоритет.

4. конструкции типа:

for (var any in elem.events ) break;
if ( !any ) {
	delete elem.handle
	delete elem.events
}


возможно стоит заменить на:

for (var any in elem.events ) return;
delete elem.handle
delete elem.events


Там еще множество разных оптимизаций можно применить, но все они в ущерб читабельности. А эта вроде нет.
Ответить с цитированием