Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2012, 16:44
Новичок на форуме
Отправить личное сообщение для moreo Посмотреть профиль Найти все сообщения от moreo
 
Регистрация: 30.11.2011
Сообщений: 6

Блокировка событий всех дочерних элементов
Здравствуйте!
Задача следующая:
Во время выполнения ajax-запроса необходимо блокировать
элемент dom, включая все его дочерние элементы (все события
onclick, omnouseover и т.д. всех дочерних элементов, input-ы и т.д.).
Проблем с inputam-и не возникло. Как блокировать на время
события всех дочерних элементов?
Прошу не предлагать сторонние библиотеки, а только средствами javascript или jquery.
Благодарю за внимание.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2012, 16:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

что значит блокировать?
Опишите подробней чего вы хотите добиться.

И несколько ответов наугад:
1) синхронный AJAX
при этом окно браузера вообще не будет реагировать на события, пока не будет совершена загрузка
2) снять все обработчики события, которые не должны быть обработаны, и повесить их обратно, после того как запрос будет выполнен.
3) прозрачный DIV поверх "заблокированного" exfcnrf
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2012, 17:21
Новичок на форуме
Отправить личное сообщение для moreo Посмотреть профиль Найти все сообщения от moreo
 
Регистрация: 30.11.2011
Сообщений: 6

Gvozd, блокировать ,имею ввиду отключить во время выполнения ajax запроса возможность вызова событий дочерних элементов какогто допустим div-а.

1) синхронный не подходит, не хочу блокировать браузер целиком

2)Этот тоже думал. Но, допустим есть родительский элемент div,
у него есть множество дочерних элементов со своими событиями, которые могут определяться динамически из js. Да, можно убрать все события с unbind, но как их привязать обратно? т.е. как узнать какое событие привязать к какому-то элементу, если элементы могут быть без id и события могут быть не ввиде отдельной функции, а описаны в безымянной функции для данного элемента? Поняли мой вопрос?

3) Прозрачный div пробовал, только там возникла небольшая
проблемка. А именно: внутри div-а, который необходимо заблокировать, создаю прозрачный div с z-index-ом больше чем исходный. с помощью jquery ему задаю размеры исходного diva, но проблема в том, что непонятно работает функйия jquery. height() и windth(), т.е. размер прозрачного div то меньше, то больше исходного diva.

Расскажите более подробно про второй или третий вариант, как их правильно реализовать?
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2012, 19:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,220

Сообщение от moreo
3) Прозрачный div пробовал, только там возникла небольшая
проблемка. А именно: внутри div-а, который необходимо заблокировать, создаю прозрачный div с z-index-ом больше чем исходный. с помощью jquery ему задаю размеры исходного diva, но проблема в том, что непонятно работает функйия jquery. height() и windth(), т.е. размер прозрачного div то меньше, то больше исходного diva.
<div style="position:relative;width:100px;height:32px;padding:0;margin:0;">

  <div id=divA style="position:absolute;z-index:0;width:100%;height:100%padding:0;margin:0;"></div>

  <div  id=divB  style="width:100%;height:100%padding:0;margin:0;"></div>

</div>


Образчик - размеры задаются внешним div(ом) - divA и divB - равны между собой

Поднимать нужно divA
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2012, 22:58
Новичок на форуме
Отправить личное сообщение для moreo Посмотреть профиль Найти все сообщения от moreo
 
Регистрация: 30.11.2011
Сообщений: 6

Deff, спасибо, взял за основу твою схему, помогло )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 10:33
Полная загрузка всех элементов на странице Serpanok jQuery 3 10.11.2011 18:29
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 16:05
Как изменить свойство css у всех элементов одного класса AlexJ Events/DOM/Window 7 19.03.2011 05:25
Как изменить background всех дочерних элементов внутри <div>? libinstyle Общие вопросы Javascript 2 24.03.2010 12:25