Послойное срабатывание кликов.
Здравствуйте, подскажите пожалуйста. имею код на бездействие пользователя.
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" не происходило кликов по нижнем элеменам? |
Толком не понял че у тебя там происходит. Варианты:
1) Использовать div-подложку. Чтоб все клики приходились на него. 2) Использовать addEventListener('click, fn, true) - т.е. перехватывать событие. |
Необходимо 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 должен быть больше, чем у всех остальных элементов на странице. |
Часовой пояс GMT +3, время: 10:01. |