Сообщение от Wolsh
(Сообщение 1107672)
PasserBy, пока не поздно, почитайте Правила форума.
У нас не принято создавать "тему имени себя" и спрашивать в ней все, что придет в голову. Многие люди используют Поиск по форуму для нахождения ответов на свои вопросы (для этого, конечно, надо отложить на время веру в свою уникальность), а для эффективного поиска важно, чтобы тема была посвящена одному вопросу и имела правильное название, раскрывающее суть этой темы. Вы уже нарушили это правило, задав два несвязанных вопроса в названии, и теперь задаете третий. Я так понимаю, вопросы, озвученные в названии, уже исчерпаны? Можно закрывать?
По поводу событий. Есть два способа "своих" событий —
1. Использование класса Event. При этом задается только своё "имя" события, то есть строковый тип, как в примере dispatchEvent(new Event("моё_имя_события");
2. Расширение класса Event, то есть создание своего КЛАССА события (как в Вашем примере из Мука).
Расширяя класс, Вы можете добавлять в него собственные свойства любого типа, и тогда сам объект события, который передается в обработчик, сможет содержать/переносить/отдавать какую-то дополнительную информацию (подобно тому, как MouseEvent, расширяя Event, содержит данные о координатах мыши, состоянии служебных клавиш в момент события и т.п. полезные данные).
Добавлено через 6 минут
То есть конкретно "извращаться" как в данном примере нет никакого смысла, поскольку никаких пользовательских данных новый класс события не содержит. С таким же успехом можно было использовать и простой Event, только константу с именем пришлось бы хранить в другом месте.
|