Javascript.RU

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

Послойное срабатывание кликов.
Здравствуйте, подскажите пожалуйста. имею код на бездействие пользователя.
idleTimer = null;
idleState = false; // состояние отсутствия
idleWait = 2000; // время ожидания в мс. (1/1000 секунды)
 
$(document).ready( function(){
  $(document).bind('mousemove keydown scroll', function(){
    clearTimeout(idleTimer); // отменяем прежний временной отрезок
    if(idleState == true){ 
      // Действия на возвращение пользователя
       $( "div#video" ).css('display', 'none'); 
    }
 
    idleState = false;
    idleTimer = setTimeout(function(){ 
      // Действия на отсутствие пользователя
      $( "div#video" ).css('display', 'block');
      idleState = true; 
    }, idleWait);
  });
 
  $("body").trigger("mousemove"); // сгенерируем ложное событие, для запуска скрипта
});

При клике на любом участке экрана, блок убирается, при отсутствии пользователя блок появляется. Проблема заключается в том, что под этим блоком куча всяких блоков, и при клике на которые срабатывают события onclick(); Как сделать так, что бы при клике на блок "div#video" не происходило кликов по нижнем элеменам?
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2014, 07:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Толком не понял че у тебя там происходит. Варианты:
1) Использовать div-подложку. Чтоб все клики приходились на него.
2) Использовать addEventListener('click, fn, true) - т.е. перехватывать событие.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2014, 07:39
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Необходимо div#video обернуть другим div-элементом, заполняющим всё видимое пространство. (Тогда клик будет приходиться на этот элемент)

Например:
<div style="position: fixed; top: 0; left: 0; right: 0; bottom: 0;width: 100%; height: 100%; z-index: 1000000; ">
 <div id="video"></div>
</div>


У этого div z-index должен быть больше, чем у всех остальных элементов на странице.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет количества кликов мыши на объект в jquery Евгений_86 Events/DOM/Window 27 03.02.2019 03:46
скрипт счетчика кликов для сайта uCoz Georgoren Элементы интерфейса 0 24.02.2013 19:42
Задача оптимизации кода по обработке кликов EVGENi jQuery 4 21.01.2012 17:55
предотвратить срабатывание функции posta Общие вопросы Javascript 8 05.06.2011 16:37
Срабатывание ссылок при наведении. progressive jQuery 0 21.12.2010 15:40