У меня есть страница с множеством разных фреймов (A, B, C, D) - все они полностью видны в любое время. Вместе они составляют различные части пользовательского интерфейса моего приложения. Один из этих iframe, iframe D - содержит другой, меньший iframe (iframe X), который иногда отображается пользователем. Он должен автоматически исчезать всякий раз, когда пользователь нажимает за его пределами. Я могу легко справиться с этим изнутри iframe D, поместив щелчок мышью на теле. Если я на самом деле обнаруживаю щелчок в теле iframe D - это означает, что он не щелкает в iframe X, поэтому я могу скрыть iframe X с помощью CSS. Нет проблем.
Проблема в других фреймах - A, B и C. Если пользователь щелкает в них, я хочу также скрыть ифрейм X. В настоящее время у меня это работает - но не хорошо. Для каждого из этих iframe (A, B, C) у меня есть код, который будет сообщать щелчки тела в iframe D. Мне не нравится этот подход, потому что все iframe A, B, C знают о iframe X - там действительно должно быть в этом нет необходимости, и это просто добавляет к файлам, которые мне нужно изменить, чтобы поддержать функцию, предлагаемую iframe X. Есть ли способ справиться с обнаружением внешних событий onclick изнутри iframe D? Это оставит iframe X показывает / скрывает логику внутри iframe D, что значительно облегчает перемещение кода.
Если я включу этот мониторинг онкликов - мне также интересно, будет ли он обрабатывать все клики - например, если в iframe A для определенных элементов установлены какие-либо события onclick - я обязательно поймаю эти клики? Я упоминаю об этом, потому что мой текущий обходной путь кажется некорректным (iframes A, B, C сообщают о своих щелчках тела на iframe D) - некоторые щелчки не вызывают щелчок тела.
Заранее спасибо, ребята. Имейте в виду, однако, что удаление iframes нереально на данном этапе проекта.