Показать сообщение отдельно
  #3 (permalink)  
Старый 07.05.2012, 10:36
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от MadGest Посмотреть сообщение
Два элемента div. Первый расположен fixed прямо над другим div'ом. Как сделать так что бы первый элемент не реагировал на нажатия а второй работал как будто первого нет.
если случай простой, то можно просто передавать событие с верхнего элемента в обработчик нижнего

на jquery для быстроты

кликните по нижнему либо по верхнему элементу
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<meta charset=utf-8 />
<title>test</title>
<style>
  div {
    width: 200px;
    height: 150px;
    background: silver;
    border: 1px solid;
  }
  
  .top {
    position: fixed;
    left: 40px; top: 20px;
    width: 100px;
    height: 100px;
  }
  
  .hot {
    background: red;
  }
</style>
<script>
  $(function () {
  
    $('.top').on('click', function (e) {
      $('.bottom').trigger(e);
    });
    
    $('.bottom').on('click', function () {
      $(this).toggleClass('hot');
    });
  
  });
 </script>
</head>
<body>
  <div class=bottom>нижний</div>
  <div class=top>верхний</div>
</body>
</html>
Ответить с цитированием