Вы можете использовать решение Патрика при условии, что вы присоединяете слушателя как свойство элемента.
Если вы используете метод attachEvent в IE, он не будет работать, так как он не устанавливает ключевое слово this для слушателя при вызове. Для этого есть множество обходных путей. IE 9 представляет addEventListener, надеюсь, с ключевым словом this, установленным для других браузеров.
Event.srcElement является IE-эквивалентом свойства W3C Event.target и является элементом, для которого изначально произошло событие. Для всплывающих событий, чтобы найти элемент, чей обработчик вызвал слушателя, лучше всего задать ключевое слово this слушателя в вызове, чтобы вы могли ссылаться на связанный элемент как «this».
Обратите также внимание, что нет последовательности в том, что слушатели будут вызываться при подключении с использованием attachEvent или addEventListener (HTML5 пытается это исправить, но пока еще не реализован и не будет исправлять порядок attachEvent). *
Как правило, регистрация событий должна быть максимально простой. Когда у вас сложная система, вам, скорее всего, понадобится собственная система регистрации и вызова событий, чтобы избежать различных особенностей браузера (их много).
-
Rob