| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Q: как распространить действие событий ... |
| Автор: Иван FXS 1.4.2004, 19:05 |
| Здравствуйте! У меня есть окно с двумя фреймами, в одном из них - "дочернем" - я хочу открывать ДЛЯ ПРОСМОТРА некоторый ВНЕШНИЙ html-документ ... Где мне следует поместить код функции обработки события, например: function myOnMouseMove(){ clientX = window.event.clientX clientY = window.event.clientY s="(" + clientX + "," + clientY + " ) " window.status = s } и операцию активирования этого обработчика, например: onmousemove="myOnMouseMove()" - чтобы это событие возникало (и обрабатывалось) также и на/в "дочернем" фрейме? НП, Иван FXS. |
| Автор: Royan 3.4.2004, 16:04 | ||||
Все просто раз есть фрймы значит есть и такое понятие как обект фрейма. Пусть в моем случае твой код располагается в фрейме, что находится слева, а присобачить обработку движения мыши нужно еще и к тому что с лева. Соответственно есть один корневой фрейм, который описывает frameset. Из любого фрейма достать соседний можно так: top.left[somthing] или top.right[something] (опять же предполагается что left и right это имено левого и правого фреймов соответственно). Это означает что нам осталось распространить влияние твоей функции на правый фрейм. Делаем следующее:
и всего делов. Можно написать что -то вроде деструктора скрещенного со сборщиком мусора, чтобы "почистить" за собой и освободить память, тогда приведенный выше код измениться следующим образом::
Подразумевается, что мы все любим и пользуемся Internet Explorer 5 и выше ;) |
| Автор: Sardar 4.4.2004, 02:30 | ||
| Ну не так трагично это все.... Если честно, то я не понял в чем проблема. Если ты можешь редактировать загружаемую страницу, то допиши туда код который будет вызывать функции из другого фрейма. Иначе перепиши обработчиков событий конкретного фрейма:
По идее код должен работать и в Мозилле(Netscape...), но наверное из-за того что у меня 1.7 Alfa или в целях безопасности Мозилла не позволяет изменять обрабтчиков событий чужого фрейма. Для Мозиллы есть аналог IE attachEvent: addEventListener(type,handler), но я это пока не использовал. |
| Автор: Royan 5.4.2004, 21:22 |
| Слудующая фраза, конечно на любителя, но если быть откровенным, то делать сайт совместимым еще и с Mozill'ой, изврат достойный только JS-guru и студентов у коих сопли всегда пузырями (пардон за прямоту) для всех остальных код для IE достаточно до зарезу. |
| Автор: Sardar 5.4.2004, 23:43 |
| Интересная точка зрения... Мозилла крутой браузер, если бы еще интерфейс был бы поудобней, то вообще никаких претензий. Писать совместимый код между Gecko браузерами, Opera и IE довольно легко. Нетскапу кривую основанную не на Gecko(версии 4) нужно специально забыть, уж больно тупо все там сделанно, да и в 21'вом веке живем. |
| Автор: Royan 6.4.2004, 19:22 | ||
Sardar только без обид,
|