Сообщение от Octane
|
Я ожидал какую-нибудь магию с VB-скриптми и htc-файлами
|
Да заманчиво

Но я пока не думал над этим что бы сделать это через VBScript но htc юзать не хочу.
Сообщение от Octane
|
Расскажи, пожалуйста, как реализуется event capturing.
|
Система особо не сложная, все события проходят через прокси метод, который ловит все события до самого верхнего элемента при этом пропуская событие дальше по цепи, а затем получив последнее событие на текущем распространении, запускает уже оригинальные методы, те что были изначально повешены.
Картина примерно такая:

Здесь иллюстрируется не совсем понятно, но допустим при возникновении события на элементе
TD, не срабатывает всплытие, а идет перенаправление на прокси метод, который запоминает ссылку на элемент в котором произошло событие, и так для каждого элемента до самого верха. После того как событие достигло верхнего элемента, запускается уже планировщик, который проходит по всем элементам которые прокси сохранил в неком кеше для планировщика. В итоге планировщик по ним проходит дважды, сначала сверху-вниз, затем снизу-вверх. Тем самым получая нужный нам эффект.
Мда, объясняющий с меня херовый конечно
